1 准备
本教程假设你最少执行PHP5.3.23,安装了apazhe WEB server 和MySQL.MySQL。訪问MySQL用的是PDO扩展。你必须确定apache配置成了支持.htaccess 文件。这能够通过在你的httpd.conf文件里改变设置:AllowOverride None
为
AllowOverride FileInfo
做到。 假设你没有把mod_rewrite和.htaccess配置正确,那么在本教程中你将除了主页外导航不到其他不论什么页面。
注:
假设你使用的是PHP5.4+。你可要以直接使用PHP内置的web server用于开发。而不是Apache。
2 本教程的程序简单介绍
我们要建的程序是一个简单的清单系统。它显示我们所拥有的音乐专辑。主页上列出我们的专辑并同意加入、改动、和删除CD。我们的站点一共须要四个页面。1) 专辑列表 列出专辑并提供链接改动和删除专辑。也提供了链接来加入新专辑。
2) 加入专辑 提供一个form加入新专辑。
3) 改动专辑 提供一个form用于改动专辑。
4) 删除专辑 确认用户真的想删除专辑,然后删除它。
我们还须要把我们的数据存到数据库中。我们仅仅须要一个表,它有这些字段:
1) id 类型:integer。 可为空:No; 主键。自增长。
2) artist 类型:varchar(100)。 可为空:No
3) title 类型:varchar(100); 可为空:No
3 骨架程序
为了创建我们的程序。我们须要从ZendSkeletonApplication開始。ZendSkeletonApplication在github上可下载到。
使用Composer(http://getcomposer.org) 来创建一个基于Zend Framework 的新工程。命令行例如以下:
php composer.phar create-project --repository-url="https://packages.zendframework.com" zendframework/skeleton-application path/to/install
php composer.phar update
注:
还有一个安装ZendSkeletonApplication 的方式是使用github。到站点https://github.com/zendframework/ZendSkeletonApplication ,点击“Zip”button。将下载一个文件。名字几乎相同是ZendSkeletonApplication-master.zip。解压这个文件并命名解出的目录为:zf2-tutorial。
ZendSkeletonApplication被设置为使用Composer 来解决它所依赖的东西们。事实上当前它仅仅依赖于Zend Framework 2。
要安装Zend Framework 2到我们的程序中,我们仅仅需进入到zf2-tutorial 目录。然后简单的搞一下:
php composer.phar install
php composer.phar update
你将看到这种输出信息:
Installing dependencies from lock file
- Installing zendframework/zendframework (dev-master)
Cloning 18c8e223f070deb07c17543ed938b54542aa0ed8
Generating autoload files
注:假设你看到这些信息:
[RuntimeException]
The process timed out.
那么你的下载已经变得非常慢了,composer超时了。
要避免这个问题,不要再执行:
php composer.phar install
php composer.phar update
而是执行:
COMPOSER_PROCESS_TIMEOUT=5000 php composer.phar install
COMPOSER_PROCESS_TIMEOUT=5000 php composer.phar update
注:
在windows下使用wamp的人们啊,你们须要这样搞:
1) 安装composer windows版,执行以下的命令检查是否正确安装了composer:
composer
2) 安装windows版 git。
3) 安装zf2。使用命令:
composer create-project --repository-url="https://packages.zendframework.com" -s dev zendframework/skeleton-application path/to/install
如今我们能够进行web server的创建了。