Zend expressive skeleton?

https://github.com/zendframework/zend-expressive-s...

Создал ручками "AboutHandler.php", "AboutHandlerFactory.php" и "about.phtml".
Прописал "routes.php" вот такую строчку "$app->get('/about', App\Handler\AboutHandler::class, 'about');".
Потом залез в папку config/autoload и открыл файл "zend-expressive-tooling-factories.global.php", там прописал
"return [
'dependencies' => [
'factories' => [
App\Handler\AboutHandler::class => App\Handler\AboutHandlerFactory::class,
],
],
];"

Иду в браузер пишу в адресной строки zend.loc/about и вижу свою вьюху.

Одно не понял как обращаться к модели!
И объясните зачем нужен AboutHandlerFactory, для чего нужна фабрика.

И как бы второй вопрос, создал модуль, когда обращаюсь к zend.loc/album/index, получаю 404.
Поставил вот это "zendframework/zend-mvc": "3.1.1", потому что phpstorm ругался.
И в композере я сделал так
"autoload": {
    "psr-4": {
        "App\\": "src/App/src/",
        "Album\\": "module/Album/src/"
    }
},


потом сделал в консоле composer dump-autoload. Но увы я получал 404 когда переходил на zend.loc/Album/index

Особо не пинайте, я новичок в zf!
  • Вопрос задан
  • 525 просмотров
Пригласить эксперта
Ответы на вопрос 1
фабрика нужна для создания самого объекта, при помощи фабрики в ваш объект или контроллер передаются в конструктор какие-либо параметры, либо другие объекты из сервис-менеджера/хранилища, причем при необходимости эти объекты так же автоматом будут созданы. В настройках вы говорите, что бы создать ваш объект нужно вызвать фабрику.
По второму вопросу - ZF3 может работать как middleware и как классический MVC. Для пакета Album и аналогичных нужно так же его прописать в файле modules.config.php что бы ZF знал что есть этот модуль и вызывал его при инициализации. При выводе 404 ошибки наверное есть сообщение что не так.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 05:01
999999 руб./за проект
19 апр. 2024, в 03:52
1000 руб./за проект
19 апр. 2024, в 03:01
1000 руб./за проект