Zend Framework - 应用程序结构
-
简述
在本章中,让我们了解 Zend 框架应用程序的结构。myapp 应用程序的结构如下 :├── composer.json ├── composer.lock ├── CONDUCT.md ├── config │ ├── application.config.php │ ├── autoload │ │ ├── development.local.php │ │ ├── development.local.php.dist │ │ ├── global.php │ │ ├── local.php.dist │ │ ├── README.md │ │ └── zend-developer-tools.local-development.php │ ├── development.config.php │ ├── development.config.php.dist │ └── modules.config.php ├── CONTRIBUTING.md ├── data │ └── cache │ └── module-classmap-cache.application.module.cache.php ├── docker-compose.yml ├── Dockerfile ├── LICENSE.md ├── module │ └── Application │ ├── config │ ├── src │ ├── test │ └── view ├── phpcs.xml ├── phpunit.xml.dist ├── public │ ├── css │ │ ├── bootstrap.css │ │ ├── bootstrap.css.map │ │ ├── bootstrap.min.css │ │ ├── bootstrap.min.css.map │ │ ├── bootstrap-theme.css │ │ ├── bootstrap-theme.css.map │ │ ├── bootstrap-theme.min.css │ │ ├── bootstrap-theme.min.css.map │ │ └── style.css │ ├── fonts │ │ ├── glyphicons-halflings-regular.eot │ │ ├── glyphicons-halflings-regular.svg │ │ ├── glyphicons-halflings-regular.ttf │ │ ├── glyphicons-halflings-regular.woff │ │ └── glyphicons-halflings-regular.woff2 │ ├── img │ │ ├── favicon.ico │ │ └── zf-logo-mark.svg │ ├── index.php │ ├── js │ │ ├── bootstrap.js │ │ ├── bootstrap.min.js │ │ └── jquery-3.1.0.min.js │ └── web.config ├── README.md ├── TODO.md ├── Vagrantfile └── vendor ├── autoload.php ├── bin │ ├── phpunit -> ../phpunit/phpunit/phpunit │ ├── templatemap_generator.php -> ../zendframework/zend- view/bin/templatemap_generator.php │ └── zf-development-mode -> ../zfcampus/zf-development-mode/bin/zf- development-mode ├── composer │ ├── autoload_classmap.php │ ├── autoload_namespaces.php │ ├── autoload_psr4.php │ ├── autoload_real.php │ ├── ClassLoader.php │ ├── installed.json │ └── LICENSE ├── container-interop │ └── container-interop ├── doctrine │ └── instantiator ├── myclabs │ └── deep-copy ├── phpdocumentor │ ├── reflection-common │ ├── reflection-docblock │ └── type-resolver ├── phpspec │ └── prophecy ├── phpunit │ ├── php-code-coverage │ ├── php-file-iterator │ ├── php-text-template │ ├── php-timer │ ├── php-token-stream │ ├── phpunit │ └── phpunit-mock-objects ├── sebastian │ ├── code-unit-reverse-lookup │ ├── comparator │ ├── diff │ ├── environment │ ├── exporter │ ├── global-state │ ├── object-enumerator │ ├── recursion-context │ ├── resource-operations │ └── version ├── symfony │ └── yaml ├── webmozart │ └── assert ├── zendframework │ ├── zend-component-installer │ ├── zend-config │ ├── zend-console │ ├── zend-dom │ ├── zend-escaper │ ├── zend-eventmanager │ ├── zend-http │ ├── zend-loader │ ├── zend-modulemanager │ ├── zend-mvc │ ├── zend-router │ ├── zend-servicemanager │ ├── zend-stdlib │ ├── zend-test │ ├── zend-uri │ ├── zend-validator │ └── zend-view └── zfcampus └── zf-development-mode 73 directories, 55 files
Zend 框架应用程序由不同的文件夹组成。它们如下所示 −-
Application − 此目录包含您的应用程序。它将容纳MVC系统,以及配置,使用的服务和引导程序文件。
-
Config − 此目录包含应用程序的配置文件。
-
Data − 此目录提供了一个存储易失性且可能是临时的应用程序数据的位置。
-
Module − 模块允许开发人员将一组相关控制器分组到一个逻辑上组织的组中。
-
Public − 这是应用程序的文档根目录。它将启动 Zend 应用程序。它还包含应用程序的资产,如脚本,CSS,图像等。
-
Vendor − 此目录包含作曲家依赖项。
-
-
应用程序模块的结构
这是应用程序的主目录。Zend Framework 2引入了一个功能强大且灵活的模块系统来高效地组织应用程序。骨架应用程序(myapp)的应用程序模块为整个应用程序提供引导、错误和路由配置。应用程序模块的结构如下所示−├── module │ └── Application │ ├── config │ │ └── module.config.php │ ├── src │ │ ├── Controller │ │ │ └── IndexController.php │ │ └── Module.php │ ├── test │ │ └── Controller │ │ └── IndexControllerTest.php │ └── view │ ├── application │ │ └── index │ │ └── index.phtml │ ├── error │ │ ├── 404.phtml │ │ └── index.phtml │ └── layout │ └── layout.phtml
让我们详细介绍这些模块目录中的每一个 --
Application − 这是模块的根目录。文件夹的名称将与模块的名称匹配,并且该名称还用作模块内定义的所有类的 PHP 命名空间。它将容纳MVC系统,以及配置,使用的服务和引导程序文件。
-
Config − 模块的独立配置。
-
Src − 应用程序的主要业务逻辑。
-
View − 包含设计/演示 (HTML) 文件。例如,索引。
-
src/Module.php − 它是模块的核心。它用作模块的“前端控制器”。Zend 处理 src/Module.php文件,然后再处理此模块中的任何 PHP 类。
-
Application/config/module.config.php − 它是为路由器配置和自动加载文件实现的。
-
Application/view/layout − 布局表示多个视图的公共部分。例如,页眉和页脚。默认情况下,布局应存储在view/layout文件夹中。
所有模块与上述Application模块共享相同或相似的结构。 -