这个问题是关于 Zend Framework 应用程序版本:2.1.3。作为开发人员,我是 Zend Framework 的新手,非常重视您的帮助。
我正在为教堂的“捐助者管理系统”制作一个模块。我正在研究的模块称为“QueryBuilder”。以前的模块很好,效果很好。我将 Zend Helper 用于 Sublime Text,它为 module.config.php 生成了一些类似的东西
<?php
/**
*
* @package QueryBuilder
*/
return array(
'controllers' => array(
'invokables' => array(
'QueryBuilder\Controller\QueryBuilder' => 'QueryBuilder\Controller\QueryBuilderController',
),
),
// The following section is new and should be added to your file
'router' => array(
'routes' => array(
'querybuilder' => array(
'type' => 'segment',
'options' => array(
'route' => '/querybuilder[/:action][/:id]',
'constraints' => array(
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
'id' => '[0-9]+',
),
'defaults' => array(
'controller' => 'QueryBuilder\Controller\QueryBuilder',
'action' => 'index',
//'action' => 'search',
//'action' => 'recent',
),
),
),
),
),
'view_manager' => array(
'template_path_stack' => array(
'querybuilder' => __DIR__ . '/../view',
),
),
);
?>
在制作了一些成功的模块后,我决定有一点乐趣,我改变了router
如下。
<?php
/**
*
* @package QueryBuilder
*/
return array(
'controllers' => array(
'invokables' => array(
'QueryBuilder\Controller\QueryBuilder' => 'QueryBuilder\Controller\QueryBuilderController',
),
),
// The following section is new and should be added to your file
'router' => array(
'routes' => array(
'querybuilder' => array(
'type' => 'segment',
'options' => array(
'route' => '/query-builder[/:action][/:id]',
'constraints' => array(
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
'id' => '[0-9]+',
),
'defaults' => array(
'controller' => 'QueryBuilder\Controller\QueryBuilder',
'action' => 'index',
//'action' => 'search',
//'action' => 'recent',
),
),
),
),
),
'view_manager' => array(
'template_path_stack' => array(
'querybuilder' => __DIR__ . '/../view',
),
),
);
?>
注意:只有route
值从 更改/querybuilder...
为/query-builder...
。当我试图访问该路线时,http://konnections/query-builder
我遇到了一些错误,但我没有通过它。
想知道为什么我不想成为英雄,我将值改回了默认值。并试图加载http://konnections/querybuilder
,但它也给出了一个错误。
Zend\View\Renderer\PhpRenderer::render: Unable to render template "query-builder/query-builder/index"; resolver could not resolve to a file
在模块的代码中找不到单词query-builder
. 所以常识说没有办法query-builder/query-builder/index
需要访问。
认为它可能是一些缓存,我在整个应用程序文件夹中查找它。然后我重新启动了 Apache,计算机,删除并创建了一个具有相同名称的新模块,QueryBuilder
但错误仍然存在。
注意:这是一个没有做任何事情的插件。我只是更改了route
值,认为它会使 URL 看起来更整洁。
这是我最终得到的[图片]:
不,这不是 IE,因为我也在 Chrome 中尝试过(它没有访问query-builder
url)。
整个 Zend 文件夹(网站的根目录)没有引用query-builder
. 它来自哪里,我该如何改变它?
提前致谢。