自定义帮助程序:找不到类。 Laravel 5.1

时间:2015-11-17 18:26:00

标签: php laravel-5.1 helper

我已经创建了一个自定义新文件app / Http / Helpers.php并添加了:

<?php

namespace app\Http;

class ConnectionsHelper {

    public static function organisation($id) {
       return 'ID:'.$id;
   }
}

在Composer.json中,我在自动加载块中添加了:

"files": [ 
    "app/Http/Helpers.php" 
]

然后我跑了“composer dump-autoload”。

我的控制器:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use DB;
use Auth;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class myController extends Controller
{
    public function index()
    {
        echo ConnectionsHelper::organisation(2);
    }
}

得到回报:

FatalErrorException in OrganisationsController.php:
Class 'App\Http\Controllers\ConnectionsHelper' not found

1 个答案:

答案 0 :(得分:3)

您需要在控制器中提供命名空间别名。

use App\Http\ConnectionsHelper

自动加载文件并不意味着该文件中的类是必需的/包含在应用程序中的所有其他脚本中。它只是意味着您正在将这些文件提供给您的应用。在这种情况下,您的帮助文件已经在App命名空间内,默认情况下会自动加载,因此您可以完全删除composer.json的files位。