我已经按照一些教程创建了一些全局帮助函数,以便在刀片视图中使用。
我在App \ Helpers文件夹中创建了ViewHelpers.php文件。该文件包含以下代码:
<?php namespace App\Providers;
use Illuminate\Support\ServiceProvider;
class HelperServiceProvider extends ServiceProvider {
public function register()
{
foreach (glob(app_path().'/Helpers/*.php') as $filename){
echo $filename; // for debugging - yes, I see it is getting called
require_once($filename);
}
}
}
这是我的服务提供商,它加载我的助手(目前只有一个文件):
'App\Providers\HelperServiceProvider',
我已将其添加到&p;提供商的配置\ app.php中。部分:
{{ViewHelpers::bah()}}
现在我在刀片视图中调用我的助手:
<?php namespace App\Helpers;
class ViewHelpers {
// omitted for brevity
现在它工作正常。
但是,如果我将ViewHelper名称空间更改为:
Class 'ViewHelpers' not found
我的观点因use App\Helpers
而失败。
如果ViewHelpers类位于不同的命名空间中,如何查看ViewHelpers类?我在哪里添加VH:bah()
?
另一个相关的问题 - 我可以为ViewHelpers类创建一个别名,让它看起来像我的视图中的\n
吗?
我更喜欢以简单的方式做到这一点,如果可能的话(没有Facades,什么不是),因为这些只是静态助手而不需要类实例和IoC。
我正在使用Laravel 5.