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 ошибки наверное есть сообщение что не так.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы