日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php框架 > codeigniter > 為 CodeIgniter 增加第三方類庫-smarty

為 CodeIgniter 增加第三方類庫-smarty

來源:程序員人生   發布時間:2014-09-19 16:38:45 閱讀次數:3870次

 小試一段時間的CodeIgniter,發現同Zend Framework一樣,自帶的VIEW用起來很是不方便。于是突然想到,公司的Zend Framework的view都被換成smarty,再者,smarty也用習慣了。就試想CodeIgniter 能否也能加載第三方類庫呢。

google一下,有幾篇文章有介紹了。找到了官方站上的manual也有說明,按照manual的介紹。開工

 

首先,把smarty的目錄copy至 application/libraries目錄中,在libraries根目錄建立一個文件

文件名就是:MySmarty.php

為遵循CodeIgniter的標準,類的命名格式同樣依照CodeIgniter給的標準命名

 

  1. require "Smarty/Smarty.class.php";
  2. class MySmarty {
  3.     public $s;
  4.     
  5.     public function __construct(){
  6.         self::smartyConfig();
  7.     }
  8.     
  9.     private function smartyConfig(){
  10.         //$basedir = dirname(__FILE__);
  11.         $basedir = $_SERVER["DOCUMENT_ROOT"]."/system/application";
  12.         
  13.         $this->s = new Smarty();
  14.         $this->s->template_dir = $basedir."/templates/";
  15.         $this->s->compile_dir  = $basedir."/templates_c/";
  16.         $this->s->config_dir   = $basedir."/configs/";
  17.         $this->s->cache_dir    = $basedir."/cache/";
  18.         $this->s->left_delimiter = "{*";
  19.         $this->s->right_delimiter = "*}";
  20.         
  21.         $this->s->debugging = false;
  22.         $this->s->cache_lifetime=30;
  23.     }
  24.     
  25.     public function getTempDir(){
  26.         return $this->s->template_dir;
  27.     }
  28.     
  29. }

google出來的幾篇文章用當前類MySmarty繼承的方式配置,而我稍改動了一下。在MySmarty中使用$s的屬性來引用smarty的對象。接下來就是smarty基本的配置了。配置完成后到appliaction文件夾中創建兩個目錄用于存放模板和模板緩存

 

第二步:

在application/controllers中創建一個控制器,文件名為car.php

 

  1. class Car extends Controller {
  2.     
  3.     public function __construct(){
  4.         parent::Controller();
  5.         $this->load->library("mysmarty");
  6.     }
  7.     
  8.     public function index(){
  9.         $cc = new stdclass;
  10.         
  11.         $cc->dd[] = (object) array("c"=>"神經病");
  12.         $cc->dd[] = (object) array("c"=>"瘋子");
  13.         
  14.         //$this->load->view("mivec/car",$cc); //Codeigniter 自帶的view
  15.         echo $this->mysmarty->getTempDir();
  16.         $this->mysmarty->s->assign("mivec",$cc->dd);//第三方LIB smarty
  17.         $this->mysmarty->s->display("mivec/car.html");
  18.     }
  19. }

類:Car中的構造函數是覆蓋CodeIgniter中Controller的構造函數,以便于我們初始化一些東西;

  1. $this->load->library("mysmarty");

這段標識加載類:MySmarty。manual中說加載類的時候是部分大小寫的

  1. $this->mysmarty->s->assign("mivec",$cc->dd);
  2. $this->mysmarty->s->display("mivec/car.html");

已經加載了 mysmarty 類后就可以用mysmarty中的$s屬性指向smarty了。跟常規的用法是沒區別的

最后到templates中建立對應的模板文件。打開瀏覽器測試一下。通過了

參考資料:http://www.codeigniter.org.cn/user_guide/general/creating_libraries.html

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 国产伦精品一区二区三区四区免费 | 日韩中文字幕第一页 | yellow视频在线观看免费 | 久久久久久久久久久久久女国产乱 | 欧美在线一区二区 | 国产主播福利在线 | 欧美成人精品一区二区三区 | 精品国产一区二区三区久久影院 | 日韩 欧美 亚洲 国产 | 国产精品一区久久 | 国产91精品一区二区 | 91久久亚洲 | av网站入口 | 婷婷综合社区 | 久久草av| 91嫩操 | 午夜在线精品偷拍 | 久久91 | 日韩av手机免费在线观看 | 欧美日韩精品一区 | 国产精品成人一区 | 精品欧美一区二区久久久 | 婷婷六月色| www.国产精品 | 精品久久久久久久久久 | 网站黄色在线 | 国产黄色一级毛片 | 天天摸天天操 | 性xxxxxxxxx18欧美 | 天天综合网日日夜夜 | 91久久亚洲 | 岳的好大精品一区二区三区 | 日本中文字幕在线播放 | 91夜夜蜜桃臀一区二区三区 | 国产视频一区在线播放 | av久久久| 成人一二三区 | 一区二区福利 | 亚洲午夜久久久久 | 国产精品不卡在线 | 国产98在线 | 日韩 |