Мой пакет требует моделей, но я получаю сообщение об ошибке класса не нашел, почему я пытаюсь сделать:Модели в пакетах
MyModel::all();
Моя папка модели находится под ЦСИ и в моем файле composer.json я есть:
"autoload": {
"classmap": [
"src/migrations",
"src/models"
],
Я также запустить:
composer dump-autoload
Вот моя модель файла:
<?php
class MyModel extends Eloquent {
}
Нужно ли использовать пространство имен, аналогичное моему пакету?
Вы используете верстак? Если это так, то вам необходимо сбрасывать автозагрузку через мастеров: 'php artisan dump-autoload '. Или вы забыли добавить 'use your/namespace/MyModel;' в верхней части файла, где вы хотите использовать модель? –
Я сделал оба, все еще не удается. Где моя модель должна быть точно, файловая структура мудрая? Внутри MyCorp/MyPackage/src/Models или MyCorp/MyPackage/src/MyCorp/MyPackage/Models – panthro
Не имеет значения, потому что вы используете 'classmap', а не' psr-4'. Если вы запустите 'composer dump-autoload', то композитор создает карту классов, которая регистрирует вашу модель:' MyNameSpace \\ MyModel '=> $ vendorDir. '/MyCorp/MyPackage/src/Models/MyModel.php', ..' внутри файла: 'vendor/composer/autoload_classmap.php' –