获取对Laravel 5.2中函数的未定义调用

获取对Laravel 5.2中函数的未定义调用,laravel,laravel-5,laravel-5.2,Laravel,Laravel 5,Laravel 5.2,我正在从控制器调用一个简单函数: flash('my message'); flash函数位于App\Http中的helpers.php文件中 function flash($message) { $flash = app('App\Http\Flash'); return $flash->message($message); } flash函数调用flash对象 namespace App\Http; class Flash{ public funct

我正在从控制器调用一个简单函数:

flash('my message');
flash
函数位于App\Http中的helpers.php文件中

function flash($message)
{
    $flash = app('App\Http\Flash');

    return $flash->message($message);
}
flash
函数调用
flash
对象

namespace App\Http;

class Flash{

     public function message($message)
     {
            session()->flash('flash_message', $message);
     }
}
Composer.json包括:

"autoload": {
        "files": [
          "app/Http/helpers.php"
        ],
运行命令-composer dump autoload

页面正在显示-调用未定义的函数App\Http\Controllers\flash()

我试过很多东西!即使我在helpers.php文件中添加了一个很小的测试函数,我也不能在controller中使用它。
这是名称空间问题吗?我不认为我必须添加一个使用xxxx在控制器顶部,helpers.php被添加到自动加载和全局


编辑

我相信helpers.php文件的注册是这里的关键。我所做的只是将一些函数添加到全局文件中,但无法从控制器访问它们。我在helpers.php文件中添加了一个非常简单的函数,但无法从控制器访问它:为了能够使用helpers文件,是否需要向控制器添加任何内容

通过在控制器方法中包含helpers.php文件,我成功地实现了这一点:

include(app_path() . '/helpers.php');
flash('my message');
现在我可以调用这个函数了。所以自动加载不起作用!有点困惑

更新。
我必须将所需的函数放入一个类中并调用该类。这个现在很好用。我无法让helpers.php自动加载任何内容。

我会将helper文件放在全局位置,并放在composer.json文件中:

“文件”:[
“app/helper.php”
],
helper.php中

函数newflash($message)
{
session()->flash('flash_message',$message);
}
执行
composer转储自动加载

就这么简单


现在,您可以在应用程序中的任何位置调用
newflash()
方法。

不要忘记在服务提供商中注册您的类。

谢谢-尽管仍然收到相同的消息。我把“文件”放在层次结构的更高一级…尝试另一个方法名而不是flash。。例如helper.phpThanks中的newflash()将在我的机器上尝试创建每个类时都需要这样做吗?不要为有口才的模特做这些。。。谢谢你在我的机器前试试这不是我想要的。。。它应该像自动加载我可以访问的函数的简单php文件一样简单-请参阅上面的更新,谢谢