首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我正在遵循Laminas MVC教程,Routs I created return 404 error而不是相关视图

我正在遵循Laminas MVC教程,Routs I created return 404 error而不是相关视图
EN

Stack Overflow用户
提问于 2021-04-05 04:30:09
回答 1查看 208关注 0票数 0

我正在关注官方网站上的laminas MVC教程。我已经按照所说的所有步骤进行了操作。但是我的相册路由返回404错误。我创建了autoload条目,并运行了composer dump-autoload命令。给出404的路径是。

代码语言:javascript
复制
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

代码语言:javascript
复制
<?php

return [
    'Laminas\Form',
    'Laminas\I18n',
    'Laminas\InputFilter',
    'Laminas\Filter',
    'Laminas\Hydrator',
    'Laminas\Db',
    'Laminas\Router',
    'Laminas\Validator',
    'Application',
    'Album',
];

模块/相册/配置/module.config.php

代码语言:javascript
复制
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

代码语言:javascript
复制
<?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

代码语言:javascript
复制
<?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();
    }
}

视图路径如下

代码语言:javascript
复制
 module
  |-Album
    |-view
     |-album
      |-album
       |index.phtml
       |add.phtml
       |edit.phtml
       |delete.phtml

我正在vagrant VM上运行Homestead安装程序。应用程序模块路径工作正常,只有我的相册模块路径返回404错误页面。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-08 01:05:29

正如@Ermenegildo所建议的那样,我已经转向了config/application.config.php 'config_cache_enabled' => false,,并且成功了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66945593

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档