Zend 框架模块设置
Posted
技术标签:
【中文标题】Zend 框架模块设置【英文标题】:Zend Framework Module Setup 【发布时间】:2016-06-08 20:41:48 【问题描述】:我正在尝试在 Zend 框架中设置一个模块。现在我只想让它转到我的summary.phtml
页面,该页面将显示Hello World
。
我在module
目录下设置了目录结构,如下所示:
我的文件如下:
模块.config.php
<?php
return array(
'controllers' => array(
'invokables' => array(
'BlindQC\Controller\BlindQC' => 'BlindQC\Controller\BlindQCController',
),
),
// The following section is new and should be added to your file
'router' => array(
'routes' => array(
'blinqc' => array(
'type' => 'Literal',
'options' => array(
'route' => '/summary',
'defaults' => array(
'__NAMESPACE__' => 'BlindQC\Controller',
'controller' => 'BlindQC',
'action' => 'summary',
),
),
),
),
),
'view_manager' => array(
'template_path_stack' => array(
'blindqc' => __DIR__ . '/../view',
),
),
);
BlindQCController.php
<?php
namespace BlindQC\Controller;
use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;
class BlindQCController extends AbstractActionController
public function summaryAction()
;
summary.phtml
<h1>Hello World</h1>
autoload_classmap.php
<?php
return array();
模块.php
<?php
namespace BlindQC;
class Module
public function getAutoloaderConfig()
return array(
'Zend\Loader\ClassMapAutoloader' => array(__DIR__ . '/autoload_classmap.php',),
'Zend\Loader\StandardAutoloader' => array(
'namespaces' => array(__NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,),
),
);
public function getConfig()
return include __DIR__ . '/config/module.config.php';
我还修改了项目的application.config.php
以包含我的模块:
// This should be an array of module namespaces used in the application.
'modules' => array(
'Application',
'UIExperiment',
'Developer',
'User',
'Project',
'Report',
'ProjectFamily',
'FMEProcessManager',
'BlindQC'
),
当我尝试转到摘要路线 (/blindqc/summary
) 时,我收到 404。知道我做错了什么吗?
【问题讨论】:
【参考方案1】:我所要做的就是将module.config.php
中的路由更改为/blindqc/summary
,并在我的目录结构中将view/blindqc/blindqc
重命名为view/blind-qc/blind-qc
。
【讨论】:
以上是关于Zend 框架模块设置的主要内容,如果未能解决你的问题,请参考以下文章