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 框架模块设置的主要内容,如果未能解决你的问题,请参考以下文章

Zend 框架设置

Zend框架中的登录和注销问题

设置 zend 框架时禁止 Wamp 403

zend 框架设置有问题吗?

使用 Zend 框架阅读 gmail

设置 zend 框架动作控制器