PHP Zend framework 配置与调试(一)

本文介绍了如何配置PHP环境以支持ZF框架,包括PHP版本、PDO扩展及Apache的rewrite模块配置。并通过具体示例展示了ZF框架的基本结构和调试过程,包括数据库配置、控制器设置等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 一、配置环境

1)PHP版本需要再5.2.0以上才可以运作 ZF 框架
2)PHP需要开启PDOPDO相关数据库引擎来运行ZF
    打开php.ini文件 请把extension=php_pdo.dll之前的;号给去掉.
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 自动载入类文件
 require_once "Zend/Loader/Autoloader.php";  //载入zend框架
 Zend_Loader_Autoloader::getInstance()->setFallbackAutoloader(true); //静态载入自动类文件
 $registry = Zend_Registry::getInstance(); //静态获得实例
 $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);
 //设置控制器
 $frontController =Zend_Controller_Front::getInstance();
 $frontController->setBaseUrl('/zendframework')//设置基本路径
     ->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
{
 function init() //__construct 代替初始化函数
    {
        $this->registry = Zend_Registry::getInstance();
        $this->view = $this->registry['view'];
        $this->view->baseUrl = $this->_request->getBaseUrl();
    }
 /*
  * Action(动作)!
 function indexAction()
    {
       //这里给变量赋值,在index.html模板里显示
        $this->view->word = '测试一个内容';
  $this->view->php= array("aaaaa","测试内容");
  echo $this->view->render('index.html');//显示模版
    }
 */
function indexAction()
    {
       $message=new message();//实例化数据库;
       //获取数据内容
       $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');
 $message=new Message();
 $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(){

$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');
//只放要修改的数据;
 $set=array(
  'content'=>$content,
  'title'=>$title
 );
//修改的位置确认
$where=$db->quoteInto('id=?',$id);
//更新表数据
 $message->update($set,$where);
 unset($set);
echo '您xiugai数据成功!请您<a href="'.$this->view->baseUrl.'/index/index/">返回</a>';
}else{
$id=$this->_request->getParam('id');
$this->view->messages=$message->fetchAll('id='.$id)->toArray();
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>';
}

}

?>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值