gpt4 book ai didi

Laravel:如何从 Blade 模板访问类常量

转载 作者:行者123 更新时间:2023-12-04 21:05:24 24 4
gpt4 key购买 nike

我在模型中使用了很多类常量。当我想在 Blade 中使用它们时,我首先在模板顶部导入它们。

例如:

@php
use App\Model\Core\User;
@endphp

稍后在模板中我将使用它们,如下例所示。
<option value="@php echo User::MY_CONSTANT @endphp">This is an option</option>

有没有更优雅的方法来解决这个问题?直接导入 namespace 好像有点粗进入由模板引擎管理的变量范围。我的 IDE (phpstorm)肯定不喜欢。

最佳答案

我通过使用 PHP constant function 来完成此操作.由于 Blade 允许您直接调用任何 PHP 函数,因此您可以通过此函数访问任何公共(public)类常量,而无需将任何内容导入您的 View 。因此,您的示例将如下所示:

<option value="{{ constant('App\Model\Core\User::MY_CONSTANT') }}">This is an option</option>

IDE 注意:由于您提到您使用 PhpStorm,因此该解决方案的唯一缺点是 PhpStorm 不会检查您传递给常量函数的 FQCN 字符串,因此它无助于在您键入时自动完成常量(没有解决这个我知道的问题),并且它不能按 ctrl-click 来跳转到类(class)。第二个问题得到缓解,因为您可以快速突出显示 FQCN 中的“用户”,然后单击 ctrl-n(他们的“搜索类”功能的默认映射),生成的类搜索对话框将预加载突出显示的文本

关于Laravel:如何从 Blade 模板访问类常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47254314/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com