上一篇介绍了Zend framework框架开发配置,接下来介绍一下Zend framework简单开发
源码连接:http://download.csdn.net/detail/iamdale11/7876195
一、下图为Zend framework框架的响应流程:(为网上某个PHP讲师的截图)
二、Zend framework框架采用MVC(Model–View-Controller) 架构模式
新建好项目后,其文件目录如下图:
三、建立数据库,我使用的是Navicat for MySQL,先建立连接,
在连接中建立一个数据库,我建立的是mymenu。在数据库中建立表,名为adminuser。表设计如下图:
表中内容如图:
四、在工程目录中application下的model文件夹中,建立相应的model:新建adminuser.php文件,文件中代码如下:
<?php
//这个类和数据库中的adminuser表对应,通过Message对象实例,可以对该表的
//crud操作。
class adminuser extends Zend_Db_Table{
protected $_name='adminuser'; //建立表名
protected $_primary='adminUserId';//建立主键
}
注意:这个类需要继承Zend_Db_Table类才能成为表model
五、在application下的controller文件夹中的IndexController.php中找到indexAction(){}函数,在该函数中添加如下代码:
$adminuserMode=new adminuser();//新建一个adminuser模型
$res= $adminuserMode->fetchAll()->toArray();//读出该数据库中的所有值。
$this->view->res=$res;//将数据传到界面
在这里面有一句默认的代码:$this->render('index');//关联到视图文件夹下的index.phtml。
同时,需要在该文件中引入adminuser模型:代码如下:
require_once APPLICATION_PATH.'/models/adminuser.php';
六、在application下的configs文件夹中打开application.ini文件,配置MySQL数据库信息
[mysql]
db.adapter=PDO_MYSQL
db.params.host=localhost//主机
db.params.username=root//用户名
db.params.password=1234//密码
db.params.dbname=mymenu//数据库名
七、在Bootstrap.php中初始化数据库适配器,起代码如下:
parent::__construct($app);
$url=constant('APPLICATION_PATH').DIRECTORY_SEPARATOR.'configs'.DIRECTORY_SEPARATOR.'application.ini';
$dbconfig=new Zend_Config_Ini($url,"mysql");
$db=Zend_DB::factory($dbconfig->db); //初始化一个数据库工厂。
// var_dump($db);
$db->query('SET NAMES UTF8');
// $db->query('SET NAMES UTF8');//查询的一个编码shezhi
Zend_Db_Table::setDefaultAdapter($db);
}
<?php echo $adminuser['adminUserId'];?>--<?php echo $adminuser['adminUserName']?><br/>
<?php }?>
九、保存后打开浏览器,输入:http://myzf.com。如显示如下界面,则读取成功。
乱码问题可以通过设置浏览器编码解决。
其他操作:
$id=$this->getRequest()->getParam('commonUserId');
$commonModel=new commonuser();
// where条件语句
$where="commonUserId=$id";
// 删除数据并得到影响的行数
$commonModel=new commonuser();
$id=$this->getRequest()->getParam('commonid');
$password=$this->getRequest()->getParam('commonpassword');
$set=array(
'commonUserPassword'=>$password
);
$where="commonUserId=$id";
$commonModel->update($set, $where);
$name= $this->getRequest()->getParam('username');
$password=$this->getRequest()->getParam('userpassword');
$email=$this->getRequest()->getParam('email1').'@'.$this->getRequest()->getParam('email2');
$phone=$this->getRequest()->getParam('userphone');
'adminUserName'=>$name,
'adminPassword'=>$password,
'adminEmail'=>$email,
'adminPhone'=>$phone
);
$insId= $adminuserMode->insert($data);