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


Using custom helpers in view without full path - Laravel 5.1

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

StringHelper::truncate()

当我在视图中使用这个方法时,它找不到StringHelper类。我已经添加到作曲家。

当我指定完整路径时,它会起作用:

'App'Http'Helpers'StringHelper

但是我想要第一种选择。

我该怎么做?也许是AppServiceProvider,但怎么做呢?

适合Laravel 5.1

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

    对Laravel 5的回答

    将helper文件添加到编写器的"files"部分。Json(在你的应用程序的根目录中),你不需要每次都提供完整的路径:

    "files": [
            "App/Http/Helpers/StringHelper.php"
          ],