在没有完整路径的情况下在视图中使用自定义助手-Laravel 5.1

Tim*_*Uum 4 php laravel

我有一个截断字符串的方法。

StringHelper::truncate()
Run Code Online (Sandbox Code Playgroud)

当我在视图中使用此方法时,找不到类StringHelper。我已经将其添加到composer.json并完成了转储自动加载。

当我指定完整路径时,它可以工作:

\App\Http\Helpers\StringHelper
Run Code Online (Sandbox Code Playgroud)

但我想有第一个选择。

我怎样才能做到这一点?AppServiceProvider也许可以,但是如何?

Lim*_*nte 5

Laravel 5.1的正确方法

  1. 在类中创建Blade指令AppServiceProvider
class AppServiceProvider extends ServiceProvider
{
    public function boot()
    {
        Blade::directive('truncate', function ($expression) {
            return "<?php echo trim({$expression}); ?>";
        });
    }
}
Run Code Online (Sandbox Code Playgroud)
  1. 在这样的视图中使用它:
@truncate($string)
Run Code Online (Sandbox Code Playgroud)