Maison  >  Article  >  développement back-end  >  Comment intégrer Smarty à l'aide de CodeIgniter

Comment intégrer Smarty à l'aide de CodeIgniter

不言
不言original
2018-06-14 15:34:591497parcourir

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');
 }
}
4. Créez le fichier de configuration smarty.php dans le répertoire applicationconfig avec le code suivant :

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'] = '}';
5. Créez MY_controller.php dans applicationcore. Le code est le suivant :

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);
 }
}
À ce stade, le travail d'intégration de la configuration est terminé. la configuration est réussie.

7. Modifiez le Welcome.php des applicationcontrollers, le code est le suivant :

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');
 }
}
Ensuite, créez le fichier test.html sous applicationviews, le code est le suivant :

{$test}
Saisissez dans la barre d'adresse du navigateur :

http://localhost/index.php/Welcome

Le résultat affiche :

ci 3.0.3 + smarty 3.1.27 配置成功
Vous avez terminé !

Ce qui précède représente l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'étude de chacun. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !

Recommandations associées :

À 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn