我是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"它向我显示了上面的错误。
答案 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教程。它们之间的差异并不大。