我想在我的应用程序的几乎每个页面中使用cknow/laravel-money
包。我认为一种干净的方法是将类导入父级刀片服务器。但是,子模板似乎无法访问导入的类。
我尝试使用标准的<?php ?>
标记和@php @endphp
指令。
app.blade.php
@php
use Cknow\Money\Money;
@endphp
<title>{{ config('app.name') }}</title>
</head>
<body>
@include('inc.navbar')
@include('inc.flashmessages')
<div class="container">
@yield('content')
</div>
</body>
</html>
show.blade.php
<div class="card-footer text-muted">
{{ Money::GBP($item->price) }}
</div>
这抛出。
“找不到类'Money'。”
而在子类中包含相同的use语句将按预期工作。
最佳答案
与视图共享类实际上并不是Laravel做到这一点的方法。通常,所有逻辑都应在控制器内,并将数据传递到视图中。
话虽如此,您可以将类手动传递到每个视图中,也可以参考文档,因为Laravel Money内置了Blade扩展。也许这提供了您需要的所有功能?
按照Laravel Money docs
@currency('USD')
@money(500) // To use default currency present in `config/money.php`
@money(500, 'USD')
// Aggregation
@money_min(@money(100, 'USD'), @money(200, 'USD'), @money(300, 'USD')) // Money::USD(100)
@money_max(@money(100, 'USD'), @money(200, 'USD'), @money(300, 'USD')) // Money::USD(300)
@money_avg(@money(100, 'USD'), @money(200, 'USD'), @money(300, 'USD')) // Money::USD(200)
@money_sum(@money(100, 'USD'), @money(200, 'USD'), @money(300, 'USD')) // Money::USD(700)
// Parsers
@money_parse('$5.00') // Money::USD(100)
@money_parse_by_bitcoin("\xC9\x830.41") // Money::XBT(41000000)
@money_parse_by_decimal('1.00', 'USD') // Money::USD(100)
@money_parse_by_intl('$1.00') // Money::USD(100)
@money_parse_by_intl_localized_decimal('1.00', 'USD') // Money::USD(100)
关于php - 有没有办法将PHP类导入 Blade 模板并在子模板中使用它们?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54393490/