Cet article présente principalement la méthode d'intégration de Smarty avec CodeIgniter, et analyse les étapes et les techniques de paramétrage associées pour l'intégration de Smarty3.1.27 avec CodeIgniter3.0.3 sous forme d'exemples. Les amis dans le besoin peuvent s'y référer
Les exemples de cet article décrivent comment CodeIgniter intègre Smarty. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants : Après la sortie de CI3.0.2, j'ai l'impression que la classe modèle n'est toujours pas très simple à utiliser et qu'elle ne peut pas être compilée. Smarty a des fonctions puissantes. Une fois habitué aux balises Smarty, il est généralement difficile d'abandonner. De plus, il peut compiler des fichiers et les exécuter rapidement pour compenser le manque de fonctions de modèle de CI. Nous intégrons CI version 3.0.3 et Smarty version 3.1.27. Le processus d'intégration est décrit ci-dessous. 1. Téléchargez smarty-3.1.27 2. Décompressez smarty-3.1.27 dans les bibliothèques d'applications du projet CI et supprimez les autres fichiers. 3. Créez le fichier Ci_smarty.php dans le répertoire applicationlibraries avec le code suivant :if ( ! defined('BASEPATH')) exit('No direct script access allowed'); require(APPPATH.'libraries/smarty-3.1.27/libs/Smarty.class.php'); class Ci_smarty extends Smarty { protected $ci; public function __construct() { parent::__construct(); $this->ci = & get_instance(); $this->ci->load->config('smarty');//加载smarty的配置文件 $this->cache_lifetime =$this->ci->config->item('cache_lifetime'); $this->caching = $this->ci->config->item('caching'); $this->config_dir = $this->ci->config->item('config_dir'); $this->template_dir = $this->ci->config->item('template_dir'); $this->compile_dir = $this->ci->config->item('compile_dir'); $this->cache_dir = $this->ci->config->item('cache_dir'); $this->use_sub_dirs = $this->ci->config->item('use_sub_dirs'); $this->left_delimiter = $this->ci->config->item('left_delimiter'); $this->right_delimiter = $this->ci->config->item('right_delimiter'); } }
if ( ! defined('BASEPATH')) exit('No direct script access allowed'); $config['cache_lifetime'] = 60; $config['caching'] = false; $config['template_dir'] = APPPATH .'views'; $config['compile_dir'] = APPPATH .'views/template_c'; $config['cache_dir'] = APPPATH . 'views/cache'; $config['config_dir'] = APPPATH . 'views/config'; $config['use_sub_dirs'] = false; //子目录变量(是否在缓存文件夹中生成子目录) $config['left_delimiter'] = '{'; $config['right_delimiter'] = '}';
class MY_controller extends CI_Controller { public function __construct() { parent::__construct(); } public function assign($key,$val) { $this->ci_smarty->assign($key,$val); } public function display($html) { $this->ci_smarty->display($html); } }
defined('BASEPATH') OR exit('No direct script access allowed'); class Welcome extends MY_controller { public function index() { $test='ci 3.0.3 + smarty 3.1.27 配置成功'; $this->assign('test',$test); $this->display('test.html'); } }
{$test}
http://localhost/index.php/Welcome
Le résultat affiche :ci 3.0.3 + smarty 3.1.27 配置成功
À propos de l'analyse des méthodes d'intégration de smarty et adodb dans Codeigniter
À propos de Symfony et du framework CodeIgniter de PHP Configuration des règles de réécriture Nginx
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!