ZF2 有两种安装方式:一种是“在线安装”另一种是“手动安装”。
1、在线安装
所谓的“在线安装”就是使用托管在 github 上的 ZendSkeletonApplication (Skeleton在字典里解释为:骨架,骨骼。所以可以叫做“Zend应用程序骨架”或者可以理解为“Zend应用程序模板”)来构建我们自己的应用程序。
(1)打开 浏览器搜索ZF2
(2)点击图片右下角的 zip 按钮(上图画红圈的按钮),下载 ZendSkeletonApplication,下载的文件名类似 ZendSkeletonApplication-master.zip。这就是我们构建自己应用程序的基础,也可以理解成我们应用程序的一个初始化的空白模板。
(3)将下载的压缩包解压,产生 ZendSkeletonApplication-master 文件夹。
(4)将 ZendSkeletonApplication-master 文件夹复制到 e:\Web\zf2working\ 目录下,形成 e:\Web\zf2working\ZendSkeletonApplication-master\ 的结构。e:\Web\zf2working\ 是我在学习ZF2时定义的一个目录,您可以根据项目的要求或自己的喜好修改目录,但这个目录必须可以被 Apache 访问到。
(5)将 ZendSkeletonApplication-master 文件夹更名为您的项目名称,在这里我将 ZendSkeletonApplication-master 文件夹更名为:zf2-tutorial,既把 e:\Web\zf2working\ZendSkeletonApplication-master\ 修改为 e:\Web\zf2working\zf2-tutorial\。最终我的目录结构如下图所示
有关虚拟主机的设置见下一个小节
(6)在 zf2-tutorial 目录下有一个文件叫 composer.phar 这就是在线安装的主要执行文件。打开dos窗口,切换到 zf2-tutorial 目录执行 php composer.phar self-update 命令,执行结果如下图
注意:由于要使用到 PHP 的命令行,所以要将 php.exe 文件路径添加到系统的 PATH 里面,不然会报找不到 php.exe 错误
(7)当命令执行完成后接下来就是在线安装 ZF2 了,在 zf2-tutorial 目录下执行 php composer.phar install 命令,执行结果如下图
上图中有关“git”和"hg"报错的信息没有什么关系,不会影响到 ZF2 的安装。
至此 ZF2 的“在线安装”全部结束。下面有几点做一个说明
(1)“在线安装”过程所花时间的长短取决于您当地的网络情况;
(2)ZendSkeletonApplication、composer 和 Zend Framework 2 这三者之间是什么关系?ZendSkeletonApplication 是 Zend 应用程序骨架(或者是 Zend 应用程序模板),ZendSkeletonApplication 通过 composer 来解决依赖性的问题,而 ZendSkeletonApplication 所依赖的是 Zend Framework 2。
(3)php composer.phar self-update 这个命令干了什么?该命令主要是检测 ZendSkeletonApplication 最新依赖性的检测和升级
(4)php composer.phar install 这个命令干了什么?该命令装了 Zend Framework 2。这个命令在项目目录下的 vendor 目录下安装了ZF2的库文件和一些辅助文件,同时在项目目录下添加了一个 composer.lock 文件。
(5)php composer.phar install 报错 “The process timed out.”怎么办?如果你得到以下结果
[RuntimeException]
The process timed out.
说明您的网速不给力,需要用以下命令
COMPOSER_PROCESS_TIMEOUT=5000 php composer.phar install
2、手动安装
“手动安装”和“在线安装”只是在最后一步不同,“手动安装”的最后一步不是用命令行方式下载 ZF2,而是需要你手动将ZF2库添加到 ZendSkeletonApplication 目录中。
“手动安装”的前5步同“在线安装”的前5步
(6)下载ZF2,浏览器打开
(7)解压 ZendFramework-minimal-2.2.1.zip 文件到项目目录里的 vendor 子目录下的 ZF2 子目录下。
至此 ZF2 的“手动安装”全部结束。
Zend Framework http://www.3322.cc/soft/5246.html
这个还真不能说是升级了什么东西,相对来说zf2反倒削减了一些东西,之所以说两者区别很大是因为这次升级其核心设计思路有了变更,导致zf2和zf1的巨大差异。
zf1中,框架尽可能提供了丰富的功能封装,同时保留了充分的接口,使开发者能精细的(相对比较容易的)控制所有环节,从而实现自己的应用。
zf2中,开发者根据zf1的反馈,简化了大量不常用的东西(比如80%的项目不会用到,或者不会对该细节进行修改),因此zf2使用起来感觉封装的更加彻底,但是同时也意味着如果框架封装的功能不符合你的要求时你需要更深入的挖掘其源码才能找到调整方法。
但是,值得一提的是,zf1和zf2在整体架构上基本保持了一致性,即对象和方法基本没有变化,只是修改了内部的逻辑,因此如果从zf1过度zf2并不困难,但是zf2退回zf1可能你需要学习更多的内容。
举例来说,zf1中的多语言功能必须进行适当的配置才能使用。而zf2中默认加载了一种zend_translator_adapter(默认加载的好像是gettext方式),由于该方式比较流行,因此很大的概率开发者不需要再考虑如何配制多语言了。
如果你持续的关注了zf2开发过程中的各种官方消息,你会发现他们在新版本中更多的关注如何使功能更易用,哪些东西不会被使用,为什么不会被使用,是否可以改进,有无存在的必要等,而不是强调推出新功能或修改框架整体的结构。
希望以上回答能帮到你。
Photoshop|
Dreamweaver|
SVG|
WebGL|
Visual Studio|
PowerDesigner|
Eclipse|
Git|
Apache Ant|
Atom|
Composer|
CodeSmith|
Flex|
Gradle|
Maven|
Sublime Text3|
SVN|
Tableau|
Vim|
Chrome开发者工具|
OpenGL|
Unity|
Direct3D|
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....