Laravel не находит классы, которые должны быть включены

Matthew Sciamanna спросил: 10 мая 2018 в 04:18 в: php

Я новичок в Laravel и работаю над простым проектом. Сначала у меня возникали проблемы с тем, что классы не были найдены из-за необходимости пространства имен сначала, но быстро поняли это. Теперь я столкнулся с проблемой, когда он не найдет классы, которые я пытаюсь наследовать, независимо от того, как они помещаются в имена.

Итак, в основном:

require_once (dirname(__FILE__) . '/../Modelcontainer.php');
class ListOrderItemsRequest extends Model ......

Выдает ошибку, что модель не может быть найдена, даже если она включена там.

И если я перейду в mocelcontainer.php и пространство имён, оно все равно не работает!

Большое спасибо

1 ответ

Есть решение
Alihossein shahabi ответил: 10 мая 2018 в 04:30

Все в Laravel 5 автоматически загружается с помощью PSR-4 в каталог app/. Это можно увидеть в файле composer.json. поэтому в структуре Laravel вам не нужно использовать require_once для загрузки классов.

В принципе, вы можете создать другой каталог в app, а затем namespace ваши файлы там, где это необходимо:

/app/MyServices/Sms.php

Затем, в вашем Sms.php, убедитесь, что вы namespace it:

namespace App\MyServices;

Теперь вы можете получить доступ к этому классу, используя пространство имен в своих классах:

use App\MyServices\Sms.php;

Alihossein shahabi ответил: 10 мая 2018 в 05:27
я предлагаю узнать больше о namespace в php: sitepoint.com/php-53-namespaces-basics
Matthew Sciamanna ответил: 10 мая 2018 в 04:39
Спасибо, я не знал об этом, и это дает мне отличное место для работы. Если вы не возражаете, почему вы должны использовать пространство имен app \ myservices, нужно ли указывать пространство имен в содержащую папку? и, кроме того, почему он переходит от прямой к обратной косой чертой?
Matthew Sciamanna ответил: 10 мая 2018 в 05:40
сделал это и получил это окончательно! Большое спасибо. Последний вопрос, теперь laravel читает класс, который расширяет "Исключение" (встроенный php-класс) и говорит, что он не может найти исключение, даже если он является родным для php. Как я могу остановить это?
Matthew Sciamanna ответил: 10 мая 2018 в 05:41
Неважно! исключение; прямо перед началом работы

Дополнительное видео по вопросу: Laravel не находит классы, которые должны быть включены

Learn How To Create Basic Laravel Website | Laravel 5 Tutorial | Projects In Laravel | Eduonix

Laravel Tutorial For Beginners Part - 2 | Laravel PHP Framework | Laravel Training | Edureka

2 Laravel PHP MVC framework