2019独角兽企业重金招聘Python工程师标准>>>

参看zend文档 : http://framework.zend.com/manual/2.2/en/user-guide

目录

  1. I 安装ZF2

  2. II 安装一个新应用



I 安装 ZF2

在经过下载无效后,还是老实的从手册开始吧:http://framework.zend.com/manual/2.2/en/user-guide/skeleton-application.html

之前电脑上已经安装了Composer,这里不细谈,如果需要请查看 composer安装 一文

php composer.phar create-project --repository-url="https://packages.zendframework.com" zendframework/skeleton-application path/to/install(换成要安装的目录路径)php composer.phar update

安装完成后,就可以查看页面了。

代码结构如下:(注:Album 属于后面加的,马上会说到,现在可以忽略)

至此,ZF2 已经安装好了。如果有难度,那就是composer的安装。类Linux系统都还比较好处理,Windows系统以前不好处理。现在已经有composer的安装软件了。

II 安装一个新的应用Album

参考: http://framework.zend.com/manual/2.2/en/user-guide/modules.html

1) 在module下创建一个Album 的文件夹子目录

2) 需要继续在Album下创建对应的子文件夹,文件暂时可以忽略。如下图:

说明: Album已经将Module分开,Album内的命名空间也将变为 Album,存在于 src/Album文件夹内。在view的子目录下也有一个album的文件夹,那用于模块视图文件。

3) 为了加载模块配置,ZF2 使用了ModuleManager.她将去module/Album下查找Module.php,这应该是类Album\Module 的类文件。在Module.php 文件内实现一下代码

namespace Album;use Zend\ModuleManager\Feature\AutoloaderProviderInterface;
use Zend\ModuleManager\Feature\ConfigProviderInterface;class Module implements AutoloaderProviderInterface, ConfigProviderInterface
{/*** Return an array for passing to Zend\Loader\AutoloaderFactory.** @return array*/public function getAutoloaderConfig(){// TODO: Implement getAutoloaderConfig() method.return array('Zend\Loader\ClassMapAutoloader' => array(__DIR__ . '/autoload_classmap.php',),'Zend\Loader\StandardAutoloader' => array('namespaces' => array(__NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,),),);}/*** Returns configuration to merge with application configuration** @return array|\Traversable*/public function getConfig(){// TODO: Implement getConfig() method.return include __DIR__ . '/config/module.config.php';}}

4)还需要在 module/Album 下添加 autoload_classmap.php 文件。我们不需要使用classmap反悔什么,所以,只需返回一个空的数组即可。如果需要创建映射的化,可以如下创建

return array('A\Class\Youre\Looking\For' => ___DIR__.'/xyz.php',);

也可以使用Composer来 处理。可以在composer.phar内添加

"autoload": {"psr-0": { "Album": "module/Album/src/" }},

然后 运行

php composer.phar update

5)自动加载完成后,现在开始配置。了解下Album\Module 内的 getConfig() 方法。其实这个方法只是简单加载config/module.config.php 。

在module/Album/config下,创建一个module.config.php 。添加代码如下

return array('controllers' => array('invokables' => array('Album\Controller\Album' => 'Album\Controller\AlbumController',),),'view_manager' => array('template_path_stack' => array('album' => __DIR__ . '/../view',),),
);

该配置文件将通过ServiceManager传递到相关的部件中。需要实例化两个部分:controllers 和 view_manager。controllers可以提供该模块的所有控制器。控制器的键名必需在所有模块唯一。所以可以添加模块名称作为前缀处理。

view_manager 部分是为TemplatePathStack添加的视图字典。这样可以方便TemplatePathStack迅速查找到对应的视图脚本。

6)为新模块添加信息

需要将新模块通知到ModuleManager,所以需要在config/appliction.config.php内修改modules模块信息。修改如下:

至此我们已经完成了基于ZF2的一个模块添加工作。

转载于:https://my.oschina.net/worldread/blog/298888

【I】ZF2安装 和 创建一个新项目相关推荐

  1. Extjs6 --- 学习笔记(1)创建一个新项目

    原公司使用的前端框架是Extjs,于是系统学习了Extjs的4和6.旧东家的项目主要为后台管理系统,因此对前端界面UI的要求并不高,侧重于数据的展示与处理  ,刚开始使用的是Extjs4,后升级成6. ...

  2. vue react angular 分别如何创建一个新项目

    前提,这三个框架都需要依赖node.js 环境,并且node.js 包含npm环境 Vue: (vue-cli 3之前的版本) 1. 全局安装vue-cli 和 webpack npm install ...

  3. 微信小程序创建一个新项目

    1. 新建一个文件夹. 2. 打开微信小程序开发工具,导入新建文件夹:然后输入创建的appId:会自动生成一个project.config.json,打开这个文件,会看到appid这个字段. 3.可以 ...

  4. 创建一个vue-cli项目到运行的完整流程

    创建一个新的vue项目进行开发的完整流程 安装vue 安装vue-cli 创建一个项目 修改babel.config.js 预处理器 安装 Sass 安装Less 安装stylus 在项目中.vue文 ...

  5. 关卡设计快速入门_3. 创建一个新关卡

    接下来,创建一个新关卡,来构建您的游戏环境.当创建一个新关卡时,就和您创建一个新项目类似.虚幻引擎允许您选择 模板 .默认情况下,有一个 默认 模板(它具有非常简单的场景) 和一个 Empty Lev ...

  6. 如何通过CND指令创建一个新的Maven 项目,已经如何部署到tomcat 的webapps目录下

    *****************事先先明,该文章来自与百度查找,以及自己作为一个萌新,所遇到的一系列小问题,如有冒犯,敬请原谅**************** 首先:先解释一下何为Maven,以及写 ...

  7. vue.js — 安装Webpake创建一个完整的项目并上传至码云

    vue.js - 安装Webpake创建一个完整的项目并上传至码云 今天总结一下之前几天学习的一整套的创建项目方法: 前提条件:已安装node.js.npm/cnpm最新版本.vue-cli. VS ...

  8. 安装Vue node 及 创建一个Vue 项目

    安装Vue 和 node 及 创建一个Vue 项目 一 下载node.js安装包 1 下载资源包,然后安装 2 点击以上的Run(运行),将出现如下界面,然后一直点击Next 直达安装完成 3 检测P ...

  9. IDEA中添加tomcat服务器和创建一个新的web项目

    1.tomcat服务器的配置 第一步: 第二步:找到Templates 第三步: 第四步: 第五步: 第六步: 这样就完成了 2.创建一个新的web项目 第一步: 第二步: 第三步 第四步:

最新文章

  1. php json encode html,php – json_encode不能使用html字符串作为值
  2. 软定时器的原理与创建
  3. JavaWeb学习总结(十三)——使用Session防止表单重复提交
  4. 160523、Oracle建立表空间和用户
  5. 使用ffmpeg录音
  6. WinAPI: 钩子回调函数之 MouseProc
  7. java8 treemap 排序_TreeSet 和TreeMap 排序
  8. 显示接口DP HDMI VGA DVI LVDS的区别
  9. Android11 热点开启流程
  10. 信号与系统难点之(双边、单边)Z变换的时移性质
  11. arris sbr-ac1900p/sbr-ac3200p梅林固件
  12. Linux 命令详解
  13. 不同平台下移植x264
  14. Windows系统下载
  15. 【笔记】 node.js - 开启本地服务器,返回json数据
  16. FreeNAS家庭工作存储搭建指南(一)——硬件篇
  17. javaio流_一文带你看懂JAVA IO流,史上最全面的IO教学啦
  18. 专升本第六讲 (世界的“小伙伴儿”都认识了)
  19. Ubuntu 连接不上github 解决方法
  20. Vue+ElementUI 表格页序号延续递增

热门文章

  1. rhel7 mysql无法运行_redhat7下mysql5.7.12重启电脑后起不来问题
  2. python代码设计测试用例_[CP_01] Python循环结构案例:模拟银行存取款业务,设计执行测试用例...
  3. android 电话拦截短信验证码,全警出击,只为寻找一位正在买新手机的女士……...
  4. java 代码里设置环境变量_如何在一个java程序里设置环境变量
  5. mybatis resultType resultMap
  6. Node.js package.json
  7. python `__slots__`
  8. C语言 static
  9. torchtext 各种数据集加载
  10. android自定义省略号,Android开发自定义TextView省略号样式的方法