In diesem Artikel wird hauptsächlich die Methode zur Integration von Smarty mit CodeIgniter vorgestellt und die Schritte und zugehörigen Einstellungstechniken zur Integration von Smarty3.1.27 mit CodeIgniter3.0.3 in Form von Beispielen analysiert
Die Beispiele in diesem Artikel beschreiben, wie CodeIgniter Smarty integriert. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
Nach der Veröffentlichung von CI3.0.2 habe ich das Gefühl, dass die Vorlagenklasse immer noch nicht sehr einfach zu verwenden ist und nicht kompiliert werden kann. Smarty verfügt über leistungsstarke Funktionen. Sobald Sie sich an Smarty-Tags gewöhnt haben, ist es im Allgemeinen schwierig, Dateien zu kompilieren und auszuführen, um die fehlenden Vorlagenfunktionen von CI auszugleichen. Wir integrieren CI Version 3.0.3 und Smarty Version 3.1.27. Der Integrationsprozess wird im Folgenden beschrieben.
1. Laden Sie smarty-3.1.27 herunter
2. Entpacken Sie smarty-3.1.27 in die Anwendungsbibliotheken im CI-Projekt und löschen Sie andere Dateien.
3. Erstellen Sie die Datei Ci_smarty.php im Verzeichnis applicationlibraries mit dem folgenden Code:
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. Erstellen Sie die Konfigurationsdatei smarty.php im Verzeichnis applicationconfig mit dem folgenden Code:
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. Erstellen Sie MY_controller.php in applicationcore. Der Code lautet wie folgt:
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); } }
Als nächstes müssen wir überprüfen, ob die Konfiguration erfolgreich ist.
7. Ändern Sie die Welcome.php von applicationcontrollers. Der Code lautet wie folgt:
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'); } }
Erstellen Sie dann die Datei test.html unter applicationviews. Der Code lautet wie folgt:
{$test}
In der Browseradresse geben Sie in die Spalte ein: http://localhost/index.php/Welcome
Das Ergebnis zeigt:
ci 3.0.3 + smarty 3.1.27 配置成功
Sie sind fertig !
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.
Verwandte Empfehlungen:
Über die Analyse von Methoden zur Integration von smarty und adodb in Codeigniter
Über Symfony und CodeIgniter Framework von PHP Konfiguration der Nginx-Rewrite-Regel
Das obige ist der detaillierte Inhalt vonSo integrieren Sie Smarty mit CodeIgniter. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!