require () не работает в Laravel 5

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

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

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

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

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

введите описание изображения здесь

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

0

Решение

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

use App\Playlist;
use App\PlaylistRetrieval;

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

use App\Libraries\Playlist;

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

$play = Playlist::find(1);

или напрямую:

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

Другие решения

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

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

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

use App/Playlist;
-3

По вопросам рекламы [email protected]