Zend Framework创建配置方式

框架:有zend framework提供一个目录结构和规范,我们程序员只需要在规定的文件

写自己的代码就ok。
 
快速体验案例
目的是让大家了解开发zend framework项目的基本流程,如何配置。
我们可以看到这个欢迎界面即可。
 
开发步骤:
1、下载一个最新的zend framework
2、创建zend framework工程
2.1手工创建(麻烦)
2.2使用zf.bat程序创建
(1)进入到zf.bat所在目录(dos)
cd c:/doucuments and setting\....\zendframework-1.11.10\bin
(2)使用命令zf.bat create project 项目的全路径(d:/hspzf)
创建完成后的目录结构
3、使用zend studio创建一个空项目hspzf
也可以直接使用zend studio创建zf工程,但zf和zs的版本匹配可能出现问题(故
不推荐)。
4、把你刚才创建项目的结构拷贝到hspzf项目中
5、引入zf库到hspzf项目中,拷贝到library目录下
6、开始配置我们的apache,让它支持我们的zf框架
6.1开启PDO和PDO相关的数据库引擎
在php.ini文件中,extension=php_pdo_mysql.dll [去掉分号]
6.2开启apache的rewrite模块
在http.conf目录下
#启用rewrite功能
LoadModule rewrite_module modules/mod_rewrite.so
把所有AllOverride None改成AllOverride All
7、配置虚拟主机
如果开发环境是自定义安装:
在http.conf文件中启用
#Virtual hosts启动虚拟主机的配置
Include conf/extra/httpd-vhosts.conf
 
在httpd-vhosts.conf中
#配置我们自己的虚拟主机
<VirtualHost *:80>
    DocumentRoot "c:/myenv/apache/htdocs/hszf/public"
    ServerName myzf.com
    DirectoryIndex index.php
    <Directory>
    Options FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
    </Directory>
</VirtualHost>
 
在hosts中添加dns
8、重新启动apache
9、http://myzf.com
 
这里,在php项目中,我们通过对url的重写,可以完成整个项目只有一个入口。
在项目中添加一个.htaccess加入内容
RewriteEngine On
RewriteRule ^.*$ enter.php
 
区分大小写
提示,我们的Controller和它的方法xxAction,xx要小写
 
如何增加控制器/视图/model
步骤:
先在
class xxxController extends Zend_Controller_Action{
    //填写自己的码
    public function init(){
    }
    //自己的一些相应方法
    public function xxAction(){
        //代码
        
    }
}
视图
在scripts目录下,建立一个新的文件夹
xxx,在该文件夹下可以创建新的视图    ??.phtml文件
 
优化代码:
因为有些控制器,需要操作数据库,有些不需要,因此我们可以写一个父类
class BaseController extends Zend_Controller_Action{
    public function init(){
        //初始化数据库适配器
        $url = constant ( "APPLICATION_PATH" ) . DIRECTORY_SEPARATOR . 'configs' . DIRECTORY_SEPARATOR . 'application.ini';             
        $dbconfig = new Zend_Config_Ini ( $url, "mysql" );
        $db = Zend_Db::factory ( $dbconfig->db );
        $db->query ( 'SET NAMES UTF8' );
        Zend_Db_Table::setDefaultAdapter ( $db );
    }
}
 
 
使用zend framework完成一个投票系统
根据需求,我们分析应当有三张表
--选项表 item
create table item(
id bigint unsigned primary key auto_increment,
name varchar(64) not null,
description varchar(128) not null,
vote_count bigint unsigned,
)engine MyISAM;
 
--投票的日志表 vote_log
create table vote_log(
id bigint unsigned primary key auto_increment,
ip varchar(20) not null,
vote_date bigint not null,
item_id bigint not null
)engine MyISAM
 
--过滤ip的表 filter
create table filter(
id bigint unsigned primary key auto_increment,
ip varchar(20) 
)engine MyISAM
 
2、创建我们的项目
3、在zend studio中创建空项目,然后把相关的文件拷贝
4、创建AdminController控制器(管理后台的各种请求)
5、创建HomeController控制器(普通用户去投票)
 
zend framework项目中,把图片、css、js、flash...都统一放在public目录下管理。
 
render:显示控制器对应的视图
_forword:在本项目不同的控制器间跳转
_redirect:可以在本项目不同的控制器间跳转,同时跳转到外部网站
posted on 2012-10-29 09:07  jingyunyb  阅读(349)  评论(0编辑  收藏  举报