首页 > 开发 > PHP > 正文

zend framework 实例

2024-05-04 23:06:37
字体:
来源:转载
供稿:网友
index.php 页面
  1. <?php  
  2.  error_reporting(E_ALL|E_STRICT); //在开启错误报告  
  3.  date_default_timezone_set('Asia/Shanghai');//配置地区  
  4.  set_include_path('.' .PATH_SEPARATOR.'./library'.PATH_SEPARATOR .'./application/models/'.PATH_SEPARATOR. get_include_path());  //配置环境路径  
  5.  require_once"Zend/Loader/Autoloader.php";  //载入zend框架  
  6.  Zend_Loader_Autoloader::getInstance()->setFallbackAutoloader(true);//静态载入自动类文件  
  7.  $registry = Zend_Registry::getInstance();//静态获得实例  
  8.  $view = new Zend_View(); //实例化zend 模板  
  9.  $view->setScriptPath('./application/views/scripts/');//设置模板显示路径  
  10.  $registry['view'] = $view;//注册View  
  11.  //  设置数据库连接  
  12.  $config=newZend_Config_Ini('./application/config/config.ini',null,true);  
  13.  Zend_Registry::set('config',$config);  
  14.  $dbAdapter=Zend_Db::factory($config->general->db->adapter,$config->general->db->config->toArray());  
  15.  $dbAdapter->query('SET NAMESutf8');  
  16.  Zend_Db_Table::setDefaultAdapter($dbAdapter);  
  17.  Zend_Registry::set('dbAdapter',$dbAdapter);  
  18.    
  19.  //  设置控制器  
  20.  $frontController=Zend_Controller_Front::getInstance();  
  21.  $frontController->setBaseUrl('/zendframework')//设置基本路径,这里面是你的项目的名字  
  22.      ->setParam('noViewRenderer',true)  
  23.      ->setControllerDirectory('./application/controllers')  
  24.      ->throwExceptions(true)  
  25.      ->dispatch();  
  26. ?> 
IndexController.php页面
  1. <?php  
  2. class IndexController extends Zend_Controller_Action  
  3. {  
  4.  function init() //__construct 代替初始化函数  
  5.     {  
  6.        $this->registry =Zend_Registry::getInstance();  
  7.        $this->view =$this->registry['view'];  
  8.        $this->view->baseUrl =$this->_request->getBaseUrl();  
  9.     }  
  10.    
  11.  function indexAction()  
  12.     {  
  13.       //实例化  
  14.       $content = new Content();  
  15.       $db = $content->getAdapter();  
  16.       //  查找所有的信息,并赋值给变量info  
  17.       $where = $db->quoteInto('1 = ?''1');  
  18.       // 根据id降序  
  19.       $order = 'id desc';  
  20.       //  查找记录  
  21.       $info =$content->fetchAll($where,$order)->toArray();  
  22.       $this->view->news = $info;  
  23.     echo$this->view->render('index.phtml');//显示模版  
  24.     }  
  25.     //添加数据  
  26.     functionaddAction()  
  27.     {  
  28.     // 获取数据传输方式并把它变成小写,判断是否等于post  
  29.     if(strtolower($_SERVER['REQUEST_METHOD']) =='post'){  
  30.            //使用post的方式接收title,content  
  31.      $title =$this->_request->getPost('title');  
  32.      $content =$this->_request->getPost('content');  
  33.      $addtime = time();  
  34.      $news = new Content();  
  35.      // 将所有的数据放在一个数组当中  
  36.      $data = array(  
  37.      'title'=>$title,  
  38.      'content' =>$content,  
  39.      'addtime'=>$addtime 
  40.      );  
  41.      // 添加数据  
  42.      if($news->insert($data)){  
  43.       echo'添加数据成功!';  
  44.       echo'<ahref="'.$this->view->baseUrl.'/index/index/">返回首页</a>';  
  45.       unset($data);  
  46.      }else{  
  47.       echo'添加数据失败!';  
  48.       echo'<ahref="'.$this->view->baseUrl.'/index/index/">返回首页</a>';  
  49.      }  
  50.     }  
  51.     }  
  52.    //  编辑数据  
  53.     functioneditAction()  
  54.     {  
  55.     //  实例化  
  56.     $content = new Content();  
  57.     $db =$content->getAdapter();  
  58.        //  获取数据传输方式并把它变成小写,判断是否等于post  
  59.        if(strtolower($_SERVER['REQUEST_METHOD']) == 'post') {  
  60.            // 通过post方式获取 id,title,content  
  61.         $id =$this->_request->getPost('id');  
  62.         $title =$this->_request->getPost('title');  
  63.         $content =$this->_request->getPost('content');  
  64.         // 将数据放在一个数组当中  
  65.         $data = array(  
  66.         'title'=>$title,  
  67.         'content'=>$content,  
  68.         );  
  69.         //  条件语句 id=  
  70.         $where = $db->quoteInto('id =?',$id);  
  71.         //  更新数据  
  72.         $content->update($data,$where);  
  73.          
  74.         echo "更新数据成功!";  
  75.         echo'<ahref="'.$this->view->baseUrl.'/index/index/">返回首页</a>';  
  76.         unset($data);  
  77.        }else{  
  78.         $id =$this->_request->getParam('id');  
  79.      $this->view->content=$content->fetchAll('id='.$id)->toArray();  
  80.    echo$this->view->render('edit.phtml');//显示编辑模板  
  81.        }  
  82.     }  
  83.    //  删除数据  
  84.     functiondeleteAction()  
  85.     {  
  86.     //  实例化Content类  
  87.     $content = new Content();  
  88.     //  (Zendframeword)将会自动对修改对数据进行加引号处理,但是这种检查不包括 条件分句,  
  89.     //   所以你需要使用该表的zend_db_adapter对象完成该工作.  
  90.     $db =$content->getAdapter();  
  91.        //  通过get方式来取得id的值  
  92.     $id =$this->_request->getParam('id');  
  93.     //  sql语句的删除条件  
  94.     $where = $db->quoteInto('id =?',$id);  
  95.     //  删除  
  96.     $content->delete($where);  
  97.     echo "删除成功!";  
  98.     echo'<ahref="'.$this->view->baseUrl.'/index/index/">返回首页</a>';  
  99.     }  
  100.     //文章的具体信息  
  101.     functionarticleAction()  
  102.     {  
  103.     //实例化  
  104.     $content = new Content();  
  105.        //  get方式获取id  
  106.     $id =$this->_request->getParam('id');  
  107.        //  查找记录  
  108.     $info =$content->find($id)->toArray();  
  109.        //  赋值给模板页面  
  110.     $this->view->info =$info;  
  111.     echo$this->view->render('article.phtml');  
  112.     }  
model content.php
  1. <?php  
  2. class Content extends Zend_Db_Table  
  3. {  
  4.    
  5. protected $_name = "content";  
  6.  protected $_primary = 'id';  
  7. }  
  8. ?> 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表