zend 学习笔记一

学习教程总要写点东西表明学过,再写个大岗
方便查找关键点来的。


此文即是:


原教程所在:
http://farlee.info/archives/zend-framework-tutorial.html

大部分内容是从教程中复制的,所以只能算转载了。内容还算简单。还要在开发中感受难点,优缺点。


Zend Framework 配置要求
PHP版本大于PHP 5.2.4。
Web 服务器支持重写,如Apache mod_rewrite。
服务器开启重写功能,如Apache http.conf 配置文件,需设置AllowOverride None 改为 AllowOverride All,以支持.htaccess 文件。


我最近也是用 ubuntu ,所以以此为基础了。下载 zend framework
无特别需要下载 minimal 版即可。


wget http://framework.zend.com/releases/ZendFramework-1.11.11/ZendFramework-1.11.11-minimal.tar.gz


解压到这里了?我是一定要换的
sudo tar -zxvpf ZendFramework-1.11.11-minimal.tar.gz -C /usr/share


***注意 zend 的 library 目录登记到自动索引目录中。


which php 来查询 php 的目录,很有用的命令,总记不清。


zf show version
来查看版本,确定命令可用。不过看教程,这里不细说这个。


-------------------------
上面就安装完了。
主要的操作:
*下载框架,解压
*修改配置文件支持重写功能
*库文件目录的设置,方便引用
*命令移动或链接,方便使用。


下面来创建项目了。


创建数据结构(数据库)做数据支持
用 zf 命令来创建项目
cd /var/www
zf create project project_name
zf create project zftest


返回信息:
Note: This command created a web project, for more information setting up your VHOST, please see docs/README
Testing Note: PHPUnit was not found in your include_path, therefore no testing actions will be created.


让安装 phpunit


~~~~~~~~~~~~~~~~~~~~~~
zftest/application 这是zf的主体程序文件,
包括配置文件、
MVC的3个目录 controllers/models/views、
Bootstrap.php。


zftest/docs 这是程序文档或手写的记录备忘等,实际应用中不上传。


zftest/library 这是上一节说到的添加Zend library的第三种方法


zftest/public 这是网站根目录访问路径。ls -a  ../public可以看到还有一个隐藏的.htaccess文件。


zftest/tests 测试目录


~~~~~~~~~~~~~~~~~~~~~~
Ubuntu 下配置apache:sudo vi /etc/apache2/sites-available/zftest,将 docs/README.txt 中的vhost配置复制进去并保存
(服务器配置都帮写好了。真不错)


sudo a2ensite zftest
sudo /etc/init.d/apache2 reload


修改 hosts 文件。


-------------------------
项目创建完成了。


ZF框架是通过zftest/public/.htaccess文件的设置将所有请求都跳转到zftest/public/index.php的


可以通过 application.ini 修改当地时区,在[production] 部分,所有的 phpSettings 值之后加入:
phpSettings.date.timezone = “Asia/Shanghai”


zf应用程序的每个页面被当作一个action,多个action 组成 一个controller 即控制器
比如http://zftest.local/news/view 这个网址(或者http://localhost/zftest/public/news/view)
News是controller,而view是action。News 控制器可能同时还有list,archived等其他的action。
可以看出,action 就是类的方法。
Zend Framework 默认情况下会使用index作为默认的action,比如http://zftest.local/news/这个url,News控制器中的index action将会被执行
同样控制器也有默认的,http://zftest.local/这个网址将执行Index controller中的index view。


因为本教程只涉及管理专辑的4个页面。因此我们可以将4个页面当作一个controller的4个action。
页面      Controller Action
Home page    Index    index
AddNew album Index    add
Edit album    Index    edit
Delete album Index    delete


多个controller 通过modules 组织起来。这点有趣


可以开始创建Controller了,在Zend Framework 中 Controller 必须是一个命名为{Controller name}Controller的类,其中控制器名称 {Controller name} 必须大写字母开头。这个类必须写在 application/controllers/{Controller name}Controller.php 文件中。


而每一个 action 则是 controller 类中一个命名为{action name}Action 的public 函数,其中action名称 {action name} 全部字母必须小写。


所以我们的controller类应该是 application/controllers/IndexController.php 文件中命名为 IndexController 的类,从前面的文件结构我们看到这个文件Zend_Tool已经帮我们创建好了,打开这个文件发现IndexController 类也已经自动创建。
(会自动创建?)


用 zf 命令,创建其他 action .
打开命令行环境并cd到zftest目录
zf create action add Index
zf create action edit Index
zf create action delete Index


这些命令会在IndexController 类中创建3个方法:addAction, editAction 和 deleteAction,同时也会创建相应的view 代码文件(后面会用到)。


URL Action method
http://zftest.local/ IndexController::indexAction()
http://zftest.local/index/add IndexController::addAction()
http://zftest.local/index/edit IndexController::editAction()
http://zftest.local/index/delete IndexController::deleteAction()


如果出现404错误页面,那可能是你还没有配置Apache 的mod_rewrite 模块

你可能感兴趣的:(zend 学习笔记一)