Zend Framework 2 Album Tutorial 404 ошибка произошла Запрошенный URL не может быть сопоставлен при маршрутизации MAMP OSX
только что опубликовал это на IRC канале ZFTalk тоже,
Надеюсь, я смогу получить некоторую помощь по ZF2, учебнику по ZF2 Album, OSX, используя MAMP. Скелет рамки, домашняя страница работает.
Проблема: после заполнения раздела: 8.5. Перечисление альбомов вы заполняете модулем / Album / View / album / album / index.phtml некоторым кодом, а затем они просят вас просмотреть страницу наHttp: //zf2-tutorial.localhost/album.
Я получаю 404. Запрошенный URL не может быть сопоставлен маршрутизацией.
Я отправился в Google за советом. Нашел GIT-репозиторий с «полностью работающей моделью» Учебного руководства, так что я получил это для сравнения своего кода. Если я настрою это как другой хост, я получу то же самое сообщение о маршрутизации 404.
После тщательного изучения руководства в самом начале ясно указывается, что вы не сможете просматривать ничего, кроме начальной / домашней страницы, если для вашего httpd.conf / AllowOverride не задано значение FileInfo.
Решил проверить всю машину на наличие файлов с именем httpd.conf, просто на случай, если измененный мной путь не используется MAMP при включении сервера.
Итак, нашел 3, изменил их все (хотя 3 мы нашли, я считаю, что правильный маршрут - / private / etc). Моя проблема все еще существует в коде, который я написал из учебника, а также в коде GIT «работающего» модель.
Кто-нибудь сталкивался с проблемами с этим? нашел это на stackoverflowZend Framework 2 .htaccess mamp pro которая имеет сходство с моей проблемой, но не решила ее. Может ли кто-нибудь здесь помочь мне?
Другие используемые маршруты включают в себя: проверку на наличие орфографических ошибок в коде, проверку того, что application.config.php настроил маршрут. Пожалуйста, порекомендуйте? :)
module.php
<?php
namespace Album;
use Album\Model\Album;
use Album\Model\AlbumTable;
use Zend\Db\ResultSet\ResultSet;
use Zend\Db\TableGateway\TableGateway;
class Module
{
public function getAutoloaderConfig()
{
return array(
'Zend\Loader\ClassMapAutoloader' => array(
__DIR__ . '/autoload_classmap.php',
),
'Zend\Loader\StandardAutoloader' => array(
'namespaces' => array(
__NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
),
),
);
}
public function getConfig()
{
return include __DIR__ . '/config/module.config.php';
}
public function getServiceConfig()
{
return array(
'factories' => array(
'Album\Model\AlbumTable' => function($sm) {
$tableGateway = $sm->get('AlbumTableGateway');
$table = new AlbumTable($tableGateway);
return $table;
},
'AlbumTableGateway' => function ($sm) {
$dbAdapter = $sm->get('Zend\Db\Adapter\Adapter');
$resultSetPrototype = new ResultSet();
$resultSetPrototype->setArrayObjectPrototype(new Album());
return new TableGateway('album', $dbAdapter, null, $resultSetPrototype);
},
),
);
}
}
module.config.php
<?php
return array(
'controllers' => array(
'invokables' => array(
'Album\Controller\Album' => 'Album\Controller\AlbumController',
),
),
'router' => array(
'routes' => array(
'album' => array(
'type' => 'segment',
'options' => array(
'route' => '/album[/][:action][/:id]',
'constraints' => array(
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
'id' => '[0-9]+',
),
'defaults' => array(
'controller' => 'Album\Controller\Album',
'action' => 'index',
),
),
),
),
),
'view_manager' => array(
'template_path_stack' => array(
'album' => __DIR__ . '/../view',
),
),
);