Zend Skeleton应用程序发生404错误页面未找到

时间:2016-07-27 11:43:04

标签: zend-framework

我是ZF的新手。我正在使用wamp 3.我按照Zend Framework文档(https://framework.zend.com/manual/2.4/en/user-guide/database-and-models.html)中的说明安装了ZendSkeletonApplication,当我收到错误时,一切正常,直到第3步(路由和控制器):

  

"发生404错误

     

找不到页面。

     

路由无法匹配请求的网址。

     

没有例外"。

我不知道问题是什么,因为我从网站上的教程中复制了所有内容(这样我就不会犯任何错误)并且它仍然赢了# 39;工作。

有什么问题可以提出建议吗?

module.config.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',
     ),
 ),
);

我按照他们的写作做了所有事情,但当我去了" myvirtualhostname / album"它向我显示了上面的错误。

2 个答案:

答案 0 :(得分:2)

确保将此行(通过注释突出显示)添加到public / index.php

的顶部
    <?php
    use Zend\Mvc\Application;
    use Zend\Stdlib\ArrayUtils;  //<-- add this line

注意#1:您需要按照编辑index.php文件的说明启用开发模式,他们只是忘了告诉我们在本教程中使用ArrayUtils。

注意#2确保从编辑器启用dev mod并转储自动加载,如下所示:

  

$ composer development-enable

然后:

  

[$ composer dump-autoload]

答案 1 :(得分:0)

我相信您可以使用初始composer命令指定要安装的版本,如下所示:

composer create-project -sdev zendframework/skeleton-application:^2.4 path/to/zf2-app

虽然您可以更改现有框架应用程序的版本,但在其他文件夹中运行上述命令可能更容易,然后在遵循教程时复制您添加或更改的文件。< / p>

再说一遍,除非你特别需要学习ZF2.4,否则最好坚持使用ZF3(因为这是当前版本),而只需遵循ZF3教程。它们之间的差异并不大。