2015-03-09 2 views
0

Я использую основную структуру файлов Laravel 5.require() не работает в Laravel 5

У меня в основном есть некоторые .php-файлы внутри каталога приложения. Я пытаюсь вызвать их из контроллера в каталоге app/Http/Controllers.

require ('../../PlaylistRetrieval.php'); 
require ('../../Playlist.php'); 

Это две линии, которые не работают в моем контроллере. Моя IDE, PhpStorm, показывает, что она распознает каталоги. Однако он бросает исключение FatalErrorException.

Вот фотография структуры файла. Если вы не знакомы с Laravel 5. Требуемые функции выше вызывают от PlaylistController.php.

enter image description here

Я все еще довольно новое для PHP и Laravel мира, так что если что-то просто прошу прощения.

ответ

3

Вместо функции require вы можете использовать пространства имен. Если у вас есть какие-то файлы модель для вашего контроллера:

use App\Playlist; 
use App\PlaylistRetrieval; 

Если у Вас есть свои собственные классы, вы можете поместить их в своих собственных приложениях папки/библиотеках и использовать их (например, с «Библиотекой»):

use App\Libraries\Playlist; 

и в вашем контроллере:

$play = Playlist::find(1); 

или непосредственно:

$play = App\Libraries\Playlist::find(1); 
+1

Ну а использовать композитор самозарядных .. , – lukasgeiter

-2

Попробуйте это:

require (__DIR__.'/../../PlaylistRetrieval.php'); 
require (__DIR__.'/../../Playlist.php'); 

Или, если это те являются классы, то вы должны пространство имен их в App пространстве имен, то как ответ ниже говорит использовать

use App/Playlist;