我有一个名为\ App \ Helpers的文件,其中包含一些函数,用于检查用户是否为管理员
@if(\Helper::isAdmin())
do something
@endif
我可以向用户模型添加方法并获取
$user->isAdmin()
这有点整洁。但是,有什么办法可以做到
@if(isAdmin())
do something
@endif
答案 0 :(得分:1)
是的,您可以通过创建包含某些全局函数的文件来执行此操作,例如,在composer.json
文件中添加一个条目,如下所示:
"autoload": {
"classmap": [
"database"
],
"psr-4": {
"App\\": "app/"
},
"files": [
"helpers/functions.php"
]
},
请注意files
部分。然后在项目根目录中创建一个顶级目录helpers
并在其中创建functions.php
文件并声明您的全局函数,例如:
// helpers/functions.php
if (! function_exists('isAdmin')) {
function isAdmin()
{
// You can entirely rewrite the logic here or
// you can use your existing Helper::isAdmin()
return \Helper::isAdmin();
}
}
不要忘记最后运行composer dump-autoload
。顺便说一句,如果你在Larave 5.5.x
,那么你可以使用larave' ls new Blade::if() Directives
described here。