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


Custom helper: class not found. Laravel 5.1

我创建了一个自定义的新文件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

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

use App'Http'ConnectionsHelper

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