2015-11-17 4 views
1

Я создал пользовательский новый файл, приложение/Http/Helpers.php и добавил:Пользовательский помощник: класс не найден. Laravel 5,1

<?php 

namespace app\Http; 

class ConnectionsHelper { 

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

В Composer.json в автозагрузку-блоке я добавил:

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

А потом я побежал «компоновщик-автозагрузка».

Мой контроллер:

<?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 

ответ

2

Вы должны предоставить псевдоним пространства имен в контроллере.

use App\Http\ConnectionsHelper 

самозарядные файл не означает, что классы в этом файле требуется/включены во всех других сценариях в приложении. Это просто означает, что вы делаете эти файлы доступным к вашему приложению. В этом случае ваш вспомогательный файл уже находится в пространстве имен App, который по умолчанию загружается автоматически, поэтому вы можете полностью удалить бит вашего композитора. files.

Смежные вопросы