【问题标题】:laravel helper class are not being calledlaravel 助手类没有被调用
【发布时间】:2019-11-17 02:49:03
【问题描述】:

在我的 app 文件夹中,我有以下文件结构。

  • 控制台
  • 例外情况
  • 帮手
  • http

在 Helpers 文件夹中,我有一个 Helpers.php 文件,其中包含以下代码:

<?php
namespace App\Helpers;

class Helper 
{
    public static function shout($string)
    {
        return strtoupper($string);
    }
}

来自http里面的Controller

我尝试使用以下代码调用此辅助函数

Helper::shout($test);

但我遇到了错误

Class 'App\Helpers\Helper' not found

实际上,这在我的 laravel 5.4 版本中运行良好。现在我在新版本的 laravel 中使用这个类。

谁能帮我在新版本的 laravel 中应该怎么做?

谢谢。

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    您需要添加您的 composer.json 您的助手类所在的位置。

    在你的情况下:

    "autoload": {
        "files": [
            "app/Helpers/Helpers.php"
        ],
    },
    

    更多信息可以阅读this

    你也可以这样尝试:

    <?php
    namespace App\Helpers;
    
    class Helper 
    {
        public function run($string)
        {
            return strtoupper($string);
        }
    
        public static function shout($string)
        {
            $instance = new self;
            $instance->run($string);
        }
    }
    

    【讨论】:

    • 谢谢我不知道我必须将它包含在其中。但是我有很多帮助文件。那么我需要在自动加载中包含所有这些帮助文件吗?
    • 我不确定。但是,当您像这样包含时,这是否有效?
    • 这样问题就解决了。检查更新并尝试这样。祝你好运!
    • @user1687891 您是否尝试过不包括第二个解决方案?
    【解决方案2】:

    一旦包含 ;

    require_once ROOT . '/helpers.php';
    

    并编辑 composer.json

    "autoload": {
        "files": [
            "app/Helpers/Helpers.php"
        ],
    },
    

    终于;

    composer dump-autoload
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-23
      • 1970-01-01
      • 2013-09-02
      • 2020-02-10
      • 2017-06-29
      • 1970-01-01
      • 2020-11-19
      • 2017-10-12
      相关资源
      最近更新 更多