我正在关注 Laminas MVC 教程,Routs I created return 404 error instead of the relevant view
I am following Laminas MVC tutorial, Routs I created return 404 error instead of the relevant view
我正在关注官方网站上的 laminas MVC 教程。我已按照所说的所有步骤进行操作。但是我的专辑路由 return 404 错误。
我还制作了自动加载条目和 运行 composer dump-autoload 命令。
给出 404 的路径是。
http://lamin.test/album
http://lamin.test/album/index
http://lamin.test/album/add
http://lamin.test/album/edit
http://lamin.test/album/delete
以下是我的配置文件。
config/modules.config.php
<?php
return [
'Laminas\Form',
'Laminas\I18n',
'Laminas\InputFilter',
'Laminas\Filter',
'Laminas\Hydrator',
'Laminas\Db',
'Laminas\Router',
'Laminas\Validator',
'Application',
'Album',
];
module/Album/config/module.config.php
namespace Album;
use Album\Controller\AlbumController;
use Laminas\Router\Http\Segment;
use Laminas\ServiceManager\Factory\InvokableFactory;
return [
'router' => [
'routes' => [
'album' => [
'type' => Segment::class,
'options' => [
'route' => '/album[/:action[/:id]]',
'constraints' => [
'action' => '[a-zA-Z][a-zA-Z0-9]*',
'id' => '[0-9]+',
],
'defaults' => [
'controller' => AlbumController::class,
'action' => 'index',
],
],
],
],
],
'controllers' => [
'factories' => [
AlbumController::class => InvokableFactory::class,
],
],
'view_manager' => [
'template_path_stack' => [
__DIR__ . '/../view',
],
],
];
module/src/module.php
<?php
namespace Album;
use Album\Controller\AlbumController;
use Laminas\ModuleManager\Feature\ConfigProviderInterface;
class Module implements ConfigProviderInterface
{
public function getConfig() : array
{
return include __DIR__.'/../config/module.config.php';
}
}
module/Album/src/Controller/AlbumController.php
<?php
namespace Album\Controller;
use Laminas\View\Model\ViewModel;
use Laminas\Mvc\Controller\AbstractActionController;
class AlbumController extends AbstractActionController
{
public function indexAction()
{
return new ViewModel();
}
public function addAction()
{
return new ViewModel();
}
public function editAction()
{
return new ViewModel();
}
public function deleteAction()
{
return new ViewModel();
}
}
查看路径如下
module
|-Album
|-view
|-album
|-album
|index.phtml
|add.phtml
|edit.phtml
|delete.phtml
我在 vag运行t 虚拟机上 运行 Homestead 设置。应用程序模块路径仅适用于我的相册模块路径 return 404 错误页面。
正如@Ermenegildo 建议的那样,我已经转身
config/application.config.php
'config_cache_enabled' => false,
它奏效了。
我正在关注官方网站上的 laminas MVC 教程。我已按照所说的所有步骤进行操作。但是我的专辑路由 return 404 错误。 我还制作了自动加载条目和 运行 composer dump-autoload 命令。 给出 404 的路径是。
http://lamin.test/album
http://lamin.test/album/index
http://lamin.test/album/add
http://lamin.test/album/edit
http://lamin.test/album/delete
以下是我的配置文件。
config/modules.config.php
<?php
return [
'Laminas\Form',
'Laminas\I18n',
'Laminas\InputFilter',
'Laminas\Filter',
'Laminas\Hydrator',
'Laminas\Db',
'Laminas\Router',
'Laminas\Validator',
'Application',
'Album',
];
module/Album/config/module.config.php
namespace Album;
use Album\Controller\AlbumController;
use Laminas\Router\Http\Segment;
use Laminas\ServiceManager\Factory\InvokableFactory;
return [
'router' => [
'routes' => [
'album' => [
'type' => Segment::class,
'options' => [
'route' => '/album[/:action[/:id]]',
'constraints' => [
'action' => '[a-zA-Z][a-zA-Z0-9]*',
'id' => '[0-9]+',
],
'defaults' => [
'controller' => AlbumController::class,
'action' => 'index',
],
],
],
],
],
'controllers' => [
'factories' => [
AlbumController::class => InvokableFactory::class,
],
],
'view_manager' => [
'template_path_stack' => [
__DIR__ . '/../view',
],
],
];
module/src/module.php
<?php
namespace Album;
use Album\Controller\AlbumController;
use Laminas\ModuleManager\Feature\ConfigProviderInterface;
class Module implements ConfigProviderInterface
{
public function getConfig() : array
{
return include __DIR__.'/../config/module.config.php';
}
}
module/Album/src/Controller/AlbumController.php
<?php
namespace Album\Controller;
use Laminas\View\Model\ViewModel;
use Laminas\Mvc\Controller\AbstractActionController;
class AlbumController extends AbstractActionController
{
public function indexAction()
{
return new ViewModel();
}
public function addAction()
{
return new ViewModel();
}
public function editAction()
{
return new ViewModel();
}
public function deleteAction()
{
return new ViewModel();
}
}
查看路径如下
module
|-Album
|-view
|-album
|-album
|index.phtml
|add.phtml
|edit.phtml
|delete.phtml
我在 vag运行t 虚拟机上 运行 Homestead 设置。应用程序模块路径仅适用于我的相册模块路径 return 404 错误页面。
正如@Ermenegildo 建议的那样,我已经转身
config/application.config.php
'config_cache_enabled' => false,
它奏效了。