多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

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

為 CodeIgniter 增加第三方類庫-smarty

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

 小試一段時間的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

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 国产成人久久久精品毛片 | 色福利在线 | 精品中文字幕一区二区三区四区 | 日韩欧美在线观看 | 亚洲另类在线观看 | 视频在线国产 | 欧美精品18videosex性俄罗斯 | 中文字幕一区二区三区乱码aⅴ | 国产一区二区精品久久91 | 日本一区二区在线视频 | 国产午夜精品久久久久 | 日本在线一区二区 | 日本另类图片 | 玖玖视频精品 | 国产婷婷一区二区在线观看 | 精品精品国产高清a毛片牛牛 | 国产成人精品久久一区二区小说 | 日本欧美一区二区三区片 | 国产乱视频在线观看播放 | 日韩免费高清一级毛片在线 | 欧美日韩1区2区 | 国产性一交一乱一伦一色一情 | 国产成人精品日本亚洲专区6 | 欧美福利网站 | 久久免费视频一区 | 日本最新在线 | 亚洲一区二区免费看 | 国产h视频在线观看免费 | 亚洲精品黄色 | 图片区小说区欧洲区 | 激情另类国内一区二区视频 | 青青青青久久精品国产一百度 | 黑人一区二区三区中文字幕 | 欧美日韩大尺码免费专区 | 国产第一页精品 | 欧美一区二区三区视视频 | 日本不卡不码高清免费观看 | 日本高清无吗免费播放 | 亚洲爱爱图片 | 亚洲精品高清在线一区二区三区 | 自拍自录videosfree自拍自录 |