Zend framework2 Zend框架2层次语义?

Zend framework2 Zend框架2层次语义?,zend-framework2,Zend Framework2,多年来,我一直在寻找和尝试学习,但它就是不坚持。Zend 2上似乎只有一个教程,它不是很聪明。这里我们有一个示例结构(教程将继续介绍此应用程序): 那不酷-我怎么知道哪张专辑是哪张?在Zend 1中,这很有意义——你有模块,然后有控制器,这些控制器有动作 现在我有了一个名为Album的模块。src/Album/…是“单一控制器”吗?将: zend1application/modules/album/albumcontroller.php映射到zend2application/modules/al

多年来,我一直在寻找和尝试学习,但它就是不坚持。Zend 2上似乎只有一个教程,它不是很聪明。这里我们有一个示例结构(教程将继续介绍此应用程序):

那不酷-我怎么知道哪张专辑是哪张?在Zend 1中,这很有意义——你有模块,然后有控制器,这些控制器有动作

现在我有了一个名为Album的模块。
src/Album/…
是“单一控制器”吗?将:

zend1application/modules/album/albumcontroller.php
映射到
zend2application/modules/album/src/album/controller/albumcontroller.php
?既然如此,为什么现在有3张专辑?比如如果我将albumcontroller.php更改为indexcontroller.php会发生什么?(我一直在测试,但有太多的变化,它永远不会坚持下去——我最后想我应该问问别人,如果我知道为什么,我会记得的

如果我用另一种方式来看,似乎
module/Album
module/Album/src/Album
中的相册应该是相同的-那么为什么我们会有两次呢?这不就是为错误腾出空间吗?比如为什么有一个
src/Album
文件夹?为什么不把控制器、表单和模型放在
module/Album

为什么有一个名为Controller的文件夹?以前模块中有一个名为controllers(复数,为什么现在是单数?)的文件夹,这是有道理的。但是为什么现在Controller在
src/Album
文件夹中

谢谢你的时间。我已经试着去研究了,但我觉得(在我看来)太大了它的文档似乎非常稀少。或者,如果有人能给我指一本书,比如《ZF2除外》,我会非常感激。

Zend Framework 2紧随其后。这意味着目录结构直接与类名相关。但在我接近这一点之前,让我解释一下基本的体系结构

首先是
ModuleNAME
。由于模块名称需要唯一,因此只有将ModuleNAME映射到模型的
命名空间
才有意义

在modules文件夹中有三个子文件夹。一个文件夹用于名为
config
的配置项。一个文件夹用于名为
src
的源代码文件,另一个文件夹用于查看文件
view

这种分离只是为了概述。您将配置、视图和源代码从其他代码中分离出来。将它们组合在一起是没有意义的,我想您会同意。对于ZF1来说,这也几乎是一样的

有趣的部分是源文件夹
src
。前面我提到了
PSR-0
标准。这是它生效的地方。默认情况下,每个模块的源文件都会从源文件夹
src
中查看。因此,无论何时您有一个类,它都会使用基于Mewning:
My\Funky\Class
可以在
src\My\Funky\Class.php中找到

控制器通常有一个FQCN,比如
Mymodule\Controller\SomeController
,所以您可以在
src\Mymodule\Controller\SomeController.php中找到这个类

出现的主要问题可能是:为什么文件夹有时都是
小写
,有时是
ucfirst
。答案再次是
PSR标准
。类名和/或名称空间应该以
大写
字符开头。由于路径名区分大小写,因此文件夹不需要d来精确匹配类名

编辑我刚刚偶然发现的另一本好书是Rob Allens的最新博文:。他解释了如何根据自己的喜好轻松更改默认设置。

Zend Framework 2如下。这意味着目录结构与类名直接相关。但在我接近这一点之前,让我先解释一下基本架构它的结构

首先是
ModuleNAME
。由于模块名称需要唯一,因此只有将ModuleNAME映射到模型的
命名空间
才有意义

在modules文件夹中有三个子文件夹。一个文件夹用于名为
config
的配置项。一个文件夹用于名为
src
的源代码文件,另一个文件夹用于查看文件
view

这种分离只是为了概述。您将配置、视图和源代码从其他代码中分离出来。将它们组合在一起是没有意义的,我想您会同意。对于ZF1来说,这也几乎是一样的

有趣的部分是源文件夹
src
。前面我提到了
PSR-0
标准。这是它生效的地方。默认情况下,每个模块的源文件都会从源文件夹
src
中查看。因此,无论何时您有一个类,它都会使用基于Mewning:
My\Funky\Class
可以在
src\My\Funky\Class.php中找到

控制器通常有一个FQCN,比如
Mymodule\Controller\SomeController
,所以您可以在
src\Mymodule\Controller\SomeController.php中找到这个类

出现的主要问题可能是:为什么文件夹有时都是
小写
,有时是
ucfirst
。答案再次是
PSR标准
。类名和/或名称空间应该以
大写
字符开头。由于路径名区分大小写,因此文件夹不需要d来精确匹配类名

编辑我刚刚偶然发现的另一本好书是Rob Allens的最新博文:。他解释了如何根据自己的喜好轻松更改默认设置
zf2-tutorial/
    /module
        /Album
            /config
            /src
                /Album
                    /Controller
                    /Form
                    /Model
            /view
                /album
                    /album