搜尋
首頁後端開發php教程CI框架中使用通用模板引擎smarty
CI框架中使用通用模板引擎smartyAug 26, 2017 am 10:09 AM
ci框架smarty模板引擎

 CI版本:2.1.4 // 此時的最新版本
Smarty版本:Smarty-2.6.26 // 因為我之前使用這個版本,為了照顧自己的使用習慣,這裡沒有使用最新的Smaty版本,大家了解擴充原理,可以選擇自己想用的Smatry版本。


1、到對應網站下載Smarty的源碼包; // 我這裡用的是Smarty-2.6.26
2、將源碼包裡面的libs資料夾copy到CI的項目目錄下面的libraries資料夾下,並重新命名為Smarty-2.6.26;//
3、在專案目錄的libraries資料夾內新建檔案Cismarty.php,裡面的內容如下:

<?php 
if(!defined(&#39;BASEPATH&#39;)) EXIT(&#39;No direct script asscess allowed&#39;); 
require_once( APPPATH . &#39;libraries/Smarty-2.6.26/libs/Smarty.class.php&#39; ); 
class Cismarty extends Smarty { 
    protected $ci; 
    public function  __construct(){ 
        $this->ci = & get_instance(); 
        $this->ci->load->config(&#39;smarty&#39;);//加载smarty的配置文件 
        //获取相关的配置项 
        $this->template_dir   = $this->ci->config->item(&#39;template_dir&#39;); 
        $this->complie_dir    = $this->ci->config->item(&#39;compile_dir&#39;); 
        $this->cache_dir      = $this->ci->config->item(&#39;cache_dir&#39;); 
        $this->config_dir     = $this->ci->config->item(&#39;config_dir&#39;); 
        $this->template_ext   = $this->ci->config->item(&#39;template_ext&#39;); 
        $this->caching        = $this->ci->config->item(&#39;caching&#39;); 
        $this->cache_lifetime = $this->ci->config->item(&#39;lefttime&#39;); 
    } 
}

4、在專案目錄的config資料夾內新檔案 smarty.php檔案,裡面的內容如下:

<?php  if ( ! defined(&#39;BASEPATH&#39;)) exit(&#39;No direct script access allowed&#39;); 
$config[&#39;theme&#39;]        = &#39;default&#39;; 
$config[&#39;template_dir&#39;] = APPPATH . &#39;views&#39;; 
$config[&#39;compile_dir&#39;]  = FCPATH . &#39;templates_c&#39;; 
$config[&#39;cache_dir&#39;]    = FCPATH . &#39;cache&#39;; 
$config[&#39;config_dir&#39;]   = FCPATH . &#39;configs&#39;; 
$config[&#39;template_ext&#39;] = &#39;.html&#39;; 
$config[&#39;caching&#39;]      = false; 
$config[&#39;lefttime&#39;]     = 60;

5、在入口檔案所在目錄新資料夾templates_c、 cache、configs;
6、在專案目錄下面的config目錄中找到autoload.php檔
修改這個

$autoload['libraries'] = array('Cismarty');/ /目的是:讓系統運行時,自動加載,不用認為的在控制器中手動加載


7、在專案目錄的core資料夾中新建檔案MY_Controller.php 內容如下: //擴充核心控制類別

<?php if (!defined(&#39;BASEPATH&#39;)) exit(&#39;No direct access allowed.&#39;); 
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); 
    } 
}

設定完成


------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------
使用方法實例:
在控制器中如:

<?php if ( ! defined(&#39;BASEPATH&#39;)) exit(&#39;No direct script access allowed&#39;); 
class Welcome extends MY_Controller { // 原文这里写错 
    public function index() 
    { 
        //$this->load->view(&#39;welcome_message&#39;); 
        $data[&#39;title&#39;] = &#39;标题&#39;; 
        $data[&#39;num&#39;] = &#39;123456789&#39;; 
        //$this->cismarty->assign(&#39;data&#39;,$data); // 亦可 
        $this->assign(&#39;data&#39;,$data); 
        $this->assign(&#39;tmp&#39;,&#39;hello&#39;); 
        //$this->cismarty->display(&#39;test.html&#39;); // 亦可 
        $this->display(&#39;test.html&#39;); 
    } 
}

然後再檢視中:試圖資料夾位於專案目錄的views之下:
新檔案test.html

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="utf-8"> 
<title>{ $test.title}</title> // 原文是 <title>{$test[&#39;title&#39;]}</title>,是错误的写法,也有可能是Smarty版本的原因 
<style type="text/css"> 
</style> 
</head> 
<body> 
{$test.num|md5} // 原文这里也写错了 
<br> 
{$tmp} 
</body> 
</html>

本文網址:http://www.php.cn /php-weizijiaocheng-377484.html

學程式設計就來PHP中文網   www.php.cn

以上是CI框架中使用通用模板引擎smarty的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
php如何使用CI框架?php如何使用CI框架?Jun 01, 2023 am 08:48 AM

随着网络技术的发展,PHP已经成为了Web开发的重要工具之一。而其中一款流行的PHP框架——CodeIgniter(以下简称CI)也得到了越来越多的关注和使用。今天,我们就来看看如何使用CI框架。一、安装CI框架首先,我们需要下载CI框架并安装。在CI的官网(https://codeigniter.com/)上下载最新版本的CI框架压缩包。下载完成后,解压缩

PHP中如何使用CI框架PHP中如何使用CI框架Jun 27, 2023 pm 04:51 PM

PHP是一种流行的编程语言,广泛应用于Web开发。CI(CodeIgniter)框架是PHP中最受欢迎的框架之一,它提供了一整套现成的工具和函数库,以及一些流行的设计模式,让开发人员能够更加高效地开发Web应用程序。本文将介绍使用CI框架开发PHP应用程序的基本步骤和方法。了解CI框架的基本概念和结构在使用CI框架之前,我们需要先了解一些基本的概念和结构。下

php如何使用CI4框架?php如何使用CI4框架?Jun 01, 2023 pm 02:40 PM

PHP是一种广泛使用的服务器端脚本语言,而CodeIgniter4(CI4)是一个流行的PHP框架,它提供了一种快速而优秀的方法来构建Web应用程序。在这篇文章中,我们将通过引导您了解如何使用CI4框架,来使您开始使用此框架来开发出众的Web应用程序。1.下载并安装CI4首先,您需要从官方网站(https://codeigniter.com/downloa

PHP中的CI框架指南PHP中的CI框架指南May 22, 2023 pm 07:10 PM

随着互联网的发展和不断地融入人们的生活,网络应用的开发变得越来越重要。PHP作为一种众所周知的编程语言,已经成为了开发互联网应用程序的首选语言之一。而开发人员们可以使用众多的PHP框架来简化开发过程,其中最受欢迎的之一是CodeIgniter(CI)框架。CI是一个强大的PHPweb应用框架,它拥有轻量级、简单易用、优化性能等特点,可以让开发人员快速地构建

ci框架如何引入cssci框架如何引入cssDec 26, 2023 pm 05:20 PM

CI框架中引入CSS样式的步骤如下:1、准备CSS文件;2、将CSS文件存储在CI框架项目的适当位置;3、在需要使用CSS样式的页面中,通过HTML的<link>标签引入CSS文件;4、在HTML元素中使用CSS类或ID名称来应用相应的样式即可。

使用CI框架向网页引入CSS样式的步骤使用CI框架向网页引入CSS样式的步骤Jan 16, 2024 am 09:20 AM

CI框架引入CSS样式的步骤,需要具体代码示例CI(CodeIgniter)框架是一种流行的PHP开发框架,被广泛用于构建高效的Web应用程序。在开发Web应用程序时,美观的用户界面是一个重要的考虑因素。使用CSS样式可以达到对Web应用程序界面的优化和个性化,让用户获得更好的体验。在CI框架中,引入CSS样式通常需要以下步骤,并附带具体的代码示例。步骤1:

详解CI框架中引用CSS样式的步骤详解CI框架中引用CSS样式的步骤Jan 16, 2024 am 09:28 AM

教程:CI框架中引入CSS样式的详细步骤,需要具体代码示例引言:在开发网页应用程序中,样式是至关重要的一部分。使用CSS(层叠样式表)可以美化网页并提供更好的用户体验。而在使用CodeIgniter(CI)框架进行开发时,如何正确引入CSS样式就显得尤为重要。本文将介绍CI框架中引入CSS样式的详细步骤,并为您提供具体的代码示例。步骤一:创建CSS文件首先,

如何使用PHP和Smarty模板引擎创建复杂页面如何使用PHP和Smarty模板引擎创建复杂页面May 11, 2023 am 08:27 AM

在Web开发中,创建复杂页面是一项挑战性工作。这些页面通常包含大量的数据和元素,并需要用户友好的界面。然而,有一些优秀的工具可以帮助我们简化这个过程。其中之一就是PHP和Smarty模板引擎。PHP是一门广泛应用于Web开发的编程语言,而Smarty是一个模板引擎,它提供了一种结构化方法来渲染PHP生成的动态内容。在本文中,我将介绍如何使用PHP和Smart

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前By尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),