代码说

code is poetry

代码说    
碎碎念:什么时候稚真的情感披上了虚伪的外衣,看不到诚实的面孔,每个人都带着面具。  换一换

Zend Framework学习之一

作者:coderzheng 发布于:2014-3-18 21:24 Tuesday 分类:php  阅读模式

在所有框架里面,最让我头疼的就是zend framework。我不知道别人学ZF的时候是什么感觉,反正我的感觉不好甚至是很不好。尤其是在windows环境下学习zend framework,简直就是痛不欲生。好了,这个教程就是为了给那些想学习ZF的同学提供一点福利。
下面我们开始:

(1)官网上的教程:http://framework.zend.com/manual/2.0/en/index.html
注意!这里第一个坑出现了:你必须牢记自己安装的zend framework的版本,然后每次在网页上都选择同一个版本,否则你就等着掉坑里吧!

(2)zend framework2下载安装:对于初学者,你最好不要单独下载zend framework,还是按照教程走:http://framework.zend.com/manual/2.0/en/user-guide/skeleton-application.html
在这个页面,教程告诉你使用composer的方式来进行安装(你现在知道为什么说ZF难搞了吧,学个框架还要安装composer,上来就给人脸子),你要是不知道怎么安装composer的话马上就掉第二个坑里了,因为composer的安装并没有你想象中的那么容易,即使跟着官网走(https://getcomposer.org/download/)你也可能遇到一堆问题。我的机器操作系统是win7,但是下载了那个安装文件双击之后,系统提示我安装失败(好像是说我的php环境中的ssl扩展没打开,其实我明明打开了的)。

除了这个composer后面还有一系列的坑等着你,下面我就来给大家一一细说:

a) 如果你是在windows环境,那么安装好composer之后(不知道为什么我用windows7就是装不上composer,windows xp好像可以),根据页面上的提示,你要进入项目文件夹(就是你放skeleton application这个应用的文件夹),然后运行php composer.phar create-project --repository。。。我们看到这里直接在命令行下面调用php指令,这种用法在windows下面默认是不支持的,在windows中你必须先进入php.exe那个文件所在的目录然后才能使用php fileWithPath这种方法来运行php文件。因此如果你想直接使用php composer.phar。。。这种方法,你必须先将php.exe这个目录的路径加入到windows系统的环境变量中。

b) 即使你成功安装了composer,如果你没有安装git,程序同样会出现错误提示。当然程序其实是检测你的系统有没有安装git,如果没有它会走另一条路下载github中的skeleton application这支程序包。问题是,这一条路在我的windows7中也是走不通的。

不堪windows的折磨之后,我终于下定决心把环境改到linux上,但是即使在linux上,仍然有一系列的坑等着你。

c) 在linux下安装git,会有一个依赖包的问题。因为一般的linux版本都没有安装libiconv这个包或者是有这个包但是版本太低,偏偏安装git需要使用到这个包,所以你必须手动下载一个较高版本的包,然后手动编译安装。这样才能成功装上git。

d) 在linux下安装composer也有点问题,在我的机器上curl向服务器发送请求竟然失败,反复几次之后我选择了第二种方式(使用php)才安装成功。

e) 在linux下安装zend framework库的时候,(注意这里是指”zend库的下载“,官网上这个教程并不是一次将所有文件都打包提供你下载的。而是这样:先用composer的方式提供除zend库以外的所有程序文件打包提供下载,然后单独将zend库文件分离出来也使用composer的方式提供下载), 同样也遇到了一些问题,后来我是通过手动修改composer.json里面的zf版本号来解决的。

f) 即使安装完了整个项目文件,你还需要配置apache使其支持htaccesss、配置虚拟主机做地址映射、修改host文件。。。我在这一步同样遇到了很多问题(最后是通过stackoverflow找到相关答案)。

g) 辛苦走完了所有的流程,以为可以安心看教程写代码做应用了?童鞋,你高兴得太早了,后面phpunit的配置同样是个坑啊!

h) 其实不想提,但是很多童鞋英文不好,所以没有中文文档也算是ZF的一个坑,而且这个坑还有点大(因为国内少有人做高质量的翻译工作啊)。

你现在知道程序员是做什么工作的了吧。

很多人很天真,看个"剑鱼行动"以为动两根手指就可以控制银行系统之间的转账流程。拜托那是电影好不好,真正的高手都是被各种bug折磨得体无完肤之后才练出身来的。

标签: ZendFramework2 php

你可以发表评论、引用到你的网站或博客,或通过RSS 2.0订阅这个博客的所有文章。
上一篇: 程序员技术练级攻略  |  下一篇:员村