CI バージョン: 2.1.4 // 現時点での最新バージョン
Smarty バージョン: Smarty-2.6.26 // 以前このバージョンを使用していたので、自分の使用習慣に注意するために最新バージョンは使用していませんSmaty バージョンはここにあります。誰もが理解している原則を拡張して、使用したい Smatry バージョンを選択できます。
1. 対応するサイトから Smarty のソース コード パッケージをダウンロードします。 // ここでは Smarty-2.6.26 を使用しています。 2. ソース コード パッケージ内の libs フォルダーを CI プロジェクト ディレクトリの下にコピーします。 Smarty-2.6.26 に名前を変更します。 //
3. プロジェクト ディレクトリのライブラリ フォルダーに新しいファイルを作成します。内容は次のとおりです。
<?php if(!defined('BASEPATH')) EXIT('No direct script asscess allowed'); require_once( APPPATH . 'libraries/Smarty-2.6.26/libs/Smarty.class.php' ); class Cismarty extends Smarty { protected $ci; public function __construct(){ $this->ci = & get_instance(); $this->ci->load->config('smarty');//加载smarty的配置文件 //获取相关的配置项 $this->template_dir = $this->ci->config->item('template_dir'); $this->complie_dir = $this->ci->config->item('compile_dir'); $this->cache_dir = $this->ci->config->item('cache_dir'); $this->config_dir = $this->ci->config->item('config_dir'); $this->template_ext = $this->ci->config->item('template_ext'); $this->caching = $this->ci->config->item('caching'); $this->cache_lifetime = $this->ci->config->item('lefttime'); } }
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); $config['theme'] = 'default'; $config['template_dir'] = APPPATH . 'views'; $config['compile_dir'] = FCPATH . 'templates_c'; $config['cache_dir'] = FCPATH . 'cache'; $config['config_dir'] = FCPATH . 'configs'; $config['template_ext'] = '.html'; $config['caching'] = false; $config['lefttime'] = 60;
6.プロジェクト ディレクトリの下の config ディレクトリ
これを変更します
$autoload['libraries'] = array('Cismarty');//目的は、システムを手動でロードすることなく、実行中に自動的にロードできるようにすることです。コントローラー
7. プロジェクトディレクトリ内のコアファイル フォルダー内の新しいファイル MY_Controller.php の内容は次のとおりです: // 拡張コア制御クラス
----- -------------------- ------------------------------ -------------------- ------------------------------ -------------------- ------------------------
使用例:
次のようなコントローラー内:
<?php if (!defined('BASEPATH')) exit('No direct access allowed.'); class MY_Controller extends CI_Controller { // 原文这里写错 public function __construct() { parent::__construct(); } public function assign($key,$val) { $this->cismarty->assign($key,$val); } public function display($html) { $this->cismarty->display($html); } }
新しいファイルtest.htmlを作成します
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Welcome extends MY_Controller { // 原文这里写错 public function index() { //$this->load->view('welcome_message'); $data['title'] = '标题'; $data['num'] = '123456789'; //$this->cismarty->assign('data',$data); // 亦可 $this->assign('data',$data); $this->assign('tmp','hello'); //$this->cismarty->display('test.html'); // 亦可 $this->display('test.html'); } }
http:// www.php.cn/php-weizijiaocheng-377484.html
以上がCI フレームワークでのユニバーサル テンプレート エンジン Smarty の使用の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。