【问题标题】:Blade @inject() not working on Laravel 5.2 for a custom Helper classBlade @inject() 不适用于 Laravel 5.2 的自定义 Helper 类
【发布时间】:2016-03-02 20:10:03
【问题描述】:

我在 App\Http\Helpers 目录下创建了一个自定义 Helper 类,并使用 Blade @inject() 注入来注入该类,如下所示:

@inject('Hello', 'App\Http\Helpers\Helper')

而且,我在同一个视图中引用 Hello,如下所示:

Hello::activity(1, 2, 3)

但是,这会返回以下错误:

Fatal error: Class 'Hello' not found (View: /Users/sumon/Desktop/TimeCop/resources/views/diary/view.blade.php)

我有什么遗漏的吗?

这是我创建的完整类 Helper 类:

<?php

namespace app\Http\Helpers;


class Helper
{
    public static function activity($keyboard, $clicks, $drags)
    {
        if (($keyboard + $clicks + $drags) / 3 >= 100) {

            return 100;
        } elseif (($keyboard + $clicks + $drags) / 3 >= 90) {

            return 90;
        } elseif (($keyboard + $clicks + $drags) / 3 >= 80) {

            return 80;
        } elseif (($keyboard + $clicks + $drags) / 3 >= 70) {

            return 70;
        } elseif (($keyboard + $clicks + $drags) / 3 >= 60) {

            return 60;
        } elseif (($keyboard + $clicks + $drags) / 3 >= 50) {

            return 50;
        } elseif (($keyboard + $clicks + $drags) / 3 >= 40) {

            return 40;
        } elseif (($keyboard + $clicks + $drags) / 3 >= 30) {

            return 30;
        } elseif (($keyboard + $clicks + $drags) / 3 >= 20) {

            return 20;
        } elseif (($keyboard + $clicks + $drags) / 3 >= 10) {

            return 10;
        }

        return 0;
    }
}

【问题讨论】:

    标签: php blade laravel-5.2 laravel-blade


    【解决方案1】:

    根据docs inject() 指令创建一个在视图上下文中使用的变量,而不是对类的引用。 试试这个:

    {{ $Hello->activity(1, 2, 3) }}
    

    PS:还要确保在创建Helper 类后运行composer dump

    【讨论】:

    • 啊,伙计,我错过了。但是,我不需要转储作曲家,因为类加载正常。
    猜你喜欢
    • 1970-01-01
    • 2018-11-21
    • 2018-03-13
    • 2014-10-26
    • 2016-06-15
    • 2018-05-15
    • 2015-11-08
    • 2017-02-28
    • 1970-01-01
    相关资源
    最近更新 更多