一、配置环境
1)PHP版本需要再5.2.0以上才可以运作 ZF 框架
2)PHP需要开启PDO和PDO相关数据库引擎来运行ZF
打开php.ini文件 请把extension=php_pdo.dll之前的;号给去掉.
//配置数据库,并连接数据库;
$config=new Zend_Config_ini('./application/config/config.ini',null, true);
Zend_Registry::set('config',$config); //注册配信息
$dbAdapter=Zend_Db::factory($config->general->db->adapter,$config->general->db->config->toArray());
//插入数据
$message=new Message();
$db=$message->getAdapter();
//删除内容
function delAction(){
echo '您删除数据成功!请您<a href="'.$this->view->baseUrl.'/index/index/">返回</a>';
}
?>
3)Apache需要开启 rewrite模块
打开httpd.conf 文件开启rewrite_module 模块;
并开启 .htaccess目录识别 AllowOverride None 改成 all
二、框架结构

三、搭建调试
index.php代码:
<?php
error_reporting(E_ALL|E_STRICT); //在开启错误报告
date_default_timezone_set('Asia/Shanghai'); //配置地区
set_include_path('.' .PATH_SEPARATOR .'./library'.PATH_SEPARATOR .'./application/models/'.PATH_SEPARATOR . get_include_path()); //配置环境路径
// require_once 'Zend/Loader.php';
// Zend_Loader::registerAutoload();//设置Zend Framework 自动载入类文件
// Zend_Loader::registerAutoload();//设置Zend Framework 自动载入类文件
require_once "Zend/Loader/Autoloader.php"; //载入zend框架
Zend_Loader_Autoloader::getInstance()->setFallbackAutoloader(true); //静态载入自动类文件
Zend_Loader_Autoloader::getInstance()->setFallbackAutoloader(true); //静态载入自动类文件
$registry = Zend_Registry::getInstance(); //静态获得实例
$view = new Zend_View(); //实例化zend 模板
$view->setScriptPath('./application/views/scripts/');//设置模板显示路径
$registry['view'] = $view;//注册View
$view = new Zend_View(); //实例化zend 模板
$view->setScriptPath('./application/views/scripts/');//设置模板显示路径
$registry['view'] = $view;//注册View
//配置数据库,并连接数据库;
$config=new Zend_Config_ini('./application/config/config.ini',null, true);
Zend_Registry::set('config',$config); //注册配信息
$dbAdapter=Zend_Db::factory($config->general->db->adapter,$config->general->db->config->toArray());
$dbAdapter->query('SET NAMES UTF8');
Zend_Db_Table::setDefaultAdapter($dbAdapter);
Zend_Registry::set('dbAdapter',$dbAdapter);
Zend_Db_Table::setDefaultAdapter($dbAdapter);
Zend_Registry::set('dbAdapter',$dbAdapter);
//设置控制器
$frontController =Zend_Controller_Front::getInstance();
$frontController =Zend_Controller_Front::getInstance();
$frontController->setBaseUrl('/zendframework')//设置基本路径
->setParam('useDefaultControllerAlways', true) //原教程没有*******
->setParam('noErrorHandler', true)//原教程没有********
->setParam('noViewRenderer', true)
->setControllerDirectory('./application/controllers')
->throwExceptions(true)
->dispatch();
?>
->setParam('useDefaultControllerAlways', true) //原教程没有*******
->setParam('noErrorHandler', true)//原教程没有********
->setParam('noViewRenderer', true)
->setControllerDirectory('./application/controllers')
->throwExceptions(true)
->dispatch();
?>
controllers中IndexController.php代码:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<?php
class IndexController extends Zend_Controller_Action
{
<?php
class IndexController extends Zend_Controller_Action
{
function init() //__construct 代替初始化函数
{
$this->registry = Zend_Registry::getInstance();
$this->view = $this->registry['view'];
$this->view->baseUrl = $this->_request->getBaseUrl();
{
$this->registry = Zend_Registry::getInstance();
$this->view = $this->registry['view'];
$this->view->baseUrl = $this->_request->getBaseUrl();
}
/*
* Action(动作)!
* Action(动作)!
function indexAction()
{
//这里给变量赋值,在index.html模板里显示
$this->view->word = '测试一个内容';
$this->view->php= array("aaaaa","测试内容");
{
//这里给变量赋值,在index.html模板里显示
$this->view->word = '测试一个内容';
$this->view->php= array("aaaaa","测试内容");
echo $this->view->render('index.html');//显示模版
}
}
*/
function indexAction()
{
$message=new message();//实例化数据库;
function indexAction()
{
$message=new message();//实例化数据库;
//获取数据内容
$this->view->messages=$message->fetchAll()->toArray();
$this->view->messages=$message->fetchAll()->toArray();
echo $this->view->render('index.html');//显示模板
}
}
//插入数据
function addAction()
{
if(Strtolower($_SERVER['REQUEST_METHOD'])=='post'){
$content=$this->_request->getPost('content');
$title=$this->_request->getPost('title');
{
if(Strtolower($_SERVER['REQUEST_METHOD'])=='post'){
$content=$this->_request->getPost('content');
$title=$this->_request->getPost('title');
$message=new Message();
$data=array('content'=>$content,'title'=>$title);
$data=array('content'=>$content,'title'=>$title);
$message->insert($data);
unset($data);
echo '您增加数据成功!请您<a href="'.$this->view->baseUrl.'/index/index/">返回</a>';
}
}
echo $this->view->render('add.html');//显示模板
}
}
//编辑内容
public function editAction(){
public function editAction(){
$message=new Message();
$db=$message->getAdapter();
//修改页面
if(Strtolower($_SERVER['REQUEST_METHOD'])=='post'){
$content=$this->_request->getPost('content');
$title=$this->_request->getPost('title');
$id=$this->_request->getPost('id');
if(Strtolower($_SERVER['REQUEST_METHOD'])=='post'){
$content=$this->_request->getPost('content');
$title=$this->_request->getPost('title');
$id=$this->_request->getPost('id');
//只放要修改的数据;
$set=array(
$set=array(
'content'=>$content,
'title'=>$title
);
'title'=>$title
);
//修改的位置确认
$where=$db->quoteInto('id=?',$id);
//更新表数据
$message->update($set,$where);
unset($set);
echo '您xiugai数据成功!请您<a href="'.$this->view->baseUrl.'/index/index/">返回</a>';
}else{
}else{
$id=$this->_request->getParam('id');
$this->view->messages=$message->fetchAll('id='.$id)->toArray();
echo $this->view->render('edit.html');//显示模板
echo $this->view->render('edit.html');//显示模板
}
}
}
//删除内容
function delAction(){
$message=new Message();
$id=$this->_request->getParam('id');
//修改的位置确认
$where='id='.$id;
//更新表数据
$message->delete($where);
echo '您删除数据成功!请您<a href="'.$this->view->baseUrl.'/index/index/">返回</a>';
}
}
?>