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

Comment intégrer Smarty à l'aide de CodeIgniter

不言
Libérer: 2023-04-01 08:22:01
original
1612 Les gens l'ont consulté

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');
 }
}
Copier après la connexion
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'] = '}';
Copier après la connexion
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);
 }
}
Copier après la connexion
À 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');
 }
}
Copier après la connexion
Ensuite, créez le fichier test.html sous applicationviews, le code est le suivant :

{$test}
Copier après la connexion
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 配置成功
Copier après la connexion
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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal