Laravel 5.2 自定义助手未找到

标签 laravel composer-php helper

我已经创建了app/Http/helpers.php

if (!function_exists('getLocation')) {
function getLocation($request)
{
    return 'test';
}

我在composer.json autoload中添加了文件部分

    "autoload": {
    "classmap": [
        "database"
    ],
    "psr-4": {
        "App\\": "app/"
    },
    "files": [
        "app/Http/helpers.php"
    ]
},

这是我的 Controller :

namespace App\Http\Controllers;

use App\Jobs\ChangeLocale;
use App\Http\Requests;
use Illuminate\Http\Request;
use DB;
use Log;

class HomeController extends Controller
{
     public function index(Request $request)
     {  
          $data['location'] = getLocation($request);

     }

}

当我在 Controller 中调用该函数时 getLocation($request);它说“调用未定义的函数 App\Http\Controllers\getLocation()”

这在我的本地工作正常,但在远程服务器上不行。我的远程服务器中缺少什么?尝试了composer install和composer dump-autoload。

更新: 帮助程序文件未在vendor/composer/autoload_files.php中列出

最佳答案

在服务器上,您需要执行:

composer dumpautoload

因为在 vendor/autoload.php 上找不到它

关于Laravel 5.2 自定义助手未找到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39152878/

相关文章:

php - Laravel 在 CentOS 7 上返回服务器错误 500

php - "https://packagist.org/packages.json"文件无法下载

php - 创建一个 PHP 对象,其中类名是一个变量

ruby-on-rails - Rails 测试/单元测试辅助方法,NoMethodError : undefined method

javascript - playframework 选择帮助器过滤选项或基于另一个选择的设置选项

javascript - 如何在 Laravel 中使用 JavaScript 在模态弹出窗口中播放动态视频?

php - 扩展 Laravel 5.5/5.6 蓝图

linux - VM 和本地计算机如何相互连接?

php - 即使没有明显的冲突,Composer 也不会安装

ruby-on-rails - 如何干燥这段代码?