PHP Zend Framework单表CRUD入门示例

Last Update 2009-9-10

一、环境:

Windows 2003 Server

Apache/2.0.55

php-5.2.6

pecl-5.2.6

ZendFramework-1.9.2

MySQL 5.0.18-nt

 

二、基本配置

1.下载框架包  http://framework.zend.com/download

2.完成PHP的基本环境配置(不再叙述了)

3.PHP.ini配置文件修改

extension=php_pdo.dll

extension=php_pdo_mysql.dll

两项前的分号去除

4.Apache配置文件httpd.conf修改

LoadModule rewrite_module modules/mod_rewrite.so  开启

 

<Directory />

    Options FollowSymLinks

    AllowOverride All               设置为All

</Directory>

 

5.建立项目目录


PHP Zend Framework单表CRUD入门示例_第1张图片
 

 

 

6.建立数据库,建立表book

id int pk auto_increment

title varchar

description varchar

 

7.开始编码

(1).htaccess文件

 

 

RewriteEngine引擎启动,并把对除过jsicogifjpgpngcss等图片、js脚本、css的请求,都发送到index.php文件中。

 

(2)启动文件

index.php


PHP Zend Framework单表CRUD入门示例_第2张图片
 

 

要配置前端路由器,这样它就知道从哪个目录里找出我们的控制器


PHP Zend Framework单表CRUD入门示例_第3张图片
  

 

(3)控制器

ZF框架中控制器是一个必需被叫做{Controllername}Controller 的类。

注意{Controller name}必需以大写字母开头。

并且,这个类必须在叫做{Controller name}Controller.php 这样的文件中,这个文件还必需在特定的控制器目录中。如:controllers目录

 

{Controller name}必需以大写字母开头并且其它字母一定是小写

 

每个action是在控制器类里的public函数,名字必需是{action name}Action

在这里,{action name}应该以小写字母开头

 

/application/controllers/IndexController.php


PHP Zend Framework单表CRUD入门示例_第4张图片
 

 

可在地址栏输入地址进行测试: xx表示项目设置的虚拟目录(根路径)

http://localhost/xx/index     调用 indexAction

http://localhost/xx/index/add  调用 addAction

http://localhost/xx/index/edit  调用 editAction

http://localhost/xx/index/edit  调用 deleteAction

 

 

(4)设置视图   /application/views/scripts

视图将允许把显示页面的代码从action 函数里分离出来。

将共同的代码提取

/application/views/scripts/header.phtml

/application/views/scripts/footer.phtml

 

header.phtml


PHP Zend Framework单表CRUD入门示例_第5张图片
  

 footer.phtml

 

 

 

修改IndexController添加一个新的函数叫做init(),它被Zend_Controller_Action 的构造器自动地调用;确保视图能够在开始被初始化并且确信它已经准备好能被用在action函数中。

function init()

{

       $this->initView();

      

       //得到当前根路径

       $this->view->baseUrl = $this->_request->getBaseUrl();

}

在各个Action函数中,分别加入,以供View中调用获得

$this->view->title = "新增 Book";

$this->view->title = "编辑 Book";

$this->view->title = "删除 Book";

 

编写

/application/views/scripts/index/index.phtml

/application/views/scripts/index/add.phtml

/application/views/scripts/index/edit.phtml

/application/views/scripts/index/_form.phtml  (供add.phtmledit.phtml来引用)

 

 

(5)连接数据库,完成最终功能

创建配置文件/application/config.ini

 

启动文件index.php中加入数据库连接代码

 
PHP Zend Framework单表CRUD入门示例_第6张图片
 

 

 建立模型/application/models/Book.php

 
PHP Zend Framework单表CRUD入门示例_第7张图片
 

 

Zend_Db_Table 提供了所有我们需要的常用的数据库函数。

如果需要特殊的函数管理你的模型,就可以把它们放到这个类里。(其它的特殊业务)

 

 

控制器的各Action中编写处理代码,调用模型提供的相关函数来完成实际的操作。


PHP Zend Framework单表CRUD入门示例_第8张图片
 
PHP Zend Framework单表CRUD入门示例_第9张图片
 
PHP Zend Framework单表CRUD入门示例_第10张图片
 
PHP Zend Framework单表CRUD入门示例_第11张图片
  
PHP Zend Framework单表CRUD入门示例_第12张图片

 

在deleteAction中,注释掉的是其它文档上这样写的,本人觉得没必要这么复杂,所以稍微修改了一下代码。

 

(6)最终的表示层

index.phtml 显示列表界面

 
PHP Zend Framework单表CRUD入门示例_第13张图片
 

 

_form.phtml  表单界面(由addedit共用)

 
PHP Zend Framework单表CRUD入门示例_第14张图片
 

 

add.phtml



 

 

edit.phtml



 

 

你可能感兴趣的:(PHP,mysql,css,配置管理,Zend)