国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
CI框架集成Smarty的方法分析,ci框架集成smarty
首頁 後端開發(fā) php教程 CI框架集成Smarty的方法分析,ci框架集成smarty_PHP教程

CI框架集成Smarty的方法分析,ci框架集成smarty_PHP教程

Jul 12, 2016 am 08:52 AM
ci框架 smarty

CI框架集成Smarty的方法分析,ci框架集成smarty

本文實(shí)例講述了CI框架集成Smarty的方法。分享給大家供大家參考,具體如下:

因?yàn)镃I自帶的模板功能不是很方便,所以大家普遍采用集成Smarty的方式來彌補(bǔ)CI這方面的不足。

本人在網(wǎng)上看了不少CI集成Smarty的教程,包括咱們CI論壇里面的一個(gè)精華帖子

http://codeigniter.org.cn/forums/forum.php?mod=viewthread&tid=10345。

自己對比了一下這些教程,我認(rèn)為下面這個(gè)方案是所有里面最優(yōu)秀的,強(qiáng)烈推薦給大家(當(dāng)然也是我自己采取的方案)

出處:

http://www.cnmiss.cn/?p=261

原文里面的一些錯(cuò)誤,我在本文里面已經(jīng)做了修正

下面說下我認(rèn)為它更加優(yōu)秀的原因,對比下這個(gè)方案和我們論壇的方案,你會(huì)發(fā)現(xiàn),這個(gè)方案多了一點(diǎn)就是它擴(kuò)展了核心類,

它將Smarty類方法assign和display擴(kuò)展到Ci的控制器中,所以我們在CI中使用Smarty的時(shí)候可以像這樣使用:

public function index()
{
    //$this->load->view('welcome_message');
    $data['title'] = '標(biāo)題';
    $data['num'] = '123456789';
    //$this->cismarty->assign('data',$data); // 也可以
    $this->assign('data',$data);
    $this->assign('tmp','hello');
    //$this->cismarty->display('test.html'); // 也可以
    $this->display('test.html');
}

通過對核心控制器類的簡單擴(kuò)展,大家在CI中使用Smary的時(shí)候和直接使用Smarty的用法習(xí)慣是一樣的,這是一個(gè)很大的優(yōu)點(diǎn)啊。

而且從核心類庫的擴(kuò)展來看,大家也可以看出該文作者對于CI框架的理解是很好的。

根據(jù)這篇文章,我不僅成功集成了Smaty,而且也進(jìn)一步加強(qiáng)了對于CI的理解。

而且該方案將Smarty的配置文件放到了CI框架的config目錄下,對于兩者,使用都很規(guī)范。

最終實(shí)現(xiàn)了"CI和Smaty的無縫結(jié)合"。

下面開始是具體教程: // 我在原文的基礎(chǔ)上做了一些修改,更正了原文的一些錯(cuò)誤 注意下文中有'//'的地方,是我自己修改過的地方,或是自己又增加的地方。

CI版本:2.1.4 // (本文發(fā)布時(shí)使用的版本)

Smarty版本:Smarty-2.6.26 // 因?yàn)槲抑坝眠@個(gè)版本,為了照顧自己的使用習(xí)慣,這里沒有使用最新的Smaty版本,大家理解了擴(kuò)展原理,可以選擇自己想用的Smatry版本。

1、到相應(yīng)站點(diǎn)下載Smarty的源碼包; // 我這里用的是 Smarty-2.6.26

2、將源碼包里面的libs文件夾copy到CI的項(xiàng)目目錄下面的libraries文件夾下,并重命名為Smarty-2.6.26;//

3、在項(xiàng)目目錄的libraries文件夾內(nèi)新建文件Cismarty.php,里面的內(nèi)容如下:

<&#63;php
if(!defined('BASEPATH')) EXIT('No direct script asscess allowed');
require_once( APPPATH . 'libraries/Smarty-2.6.26/libs/Smarty.class.php' );
class Cismarty extends Smarty {
  protected $ci;
  public function __construct(){
    $this->ci = & get_instance();
    $this->ci->load->config('smarty');//加載smarty的配置文件
    //獲取相關(guān)的配置項(xiàng)
    $this->template_dir  = $this->ci->config->item('template_dir');
    $this->complie_dir  = $this->ci->config->item('compile_dir');
    $this->cache_dir   = $this->ci->config->item('cache_dir');
    $this->config_dir   = $this->ci->config->item('config_dir');
    $this->template_ext  = $this->ci->config->item('template_ext');
    $this->caching    = $this->ci->config->item('caching');
    $this->cache_lifetime = $this->ci->config->item('lefttime');
  }
}

4、在項(xiàng)目目錄的config文件夾內(nèi)新建文件smarty.php文件,里面的內(nèi)容如下:

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

5、在入口文件所在目錄新建文件夾templates_c、cache、configs;

6、在項(xiàng)目目錄下面的config目錄中找到autoload.php文件
修改這項(xiàng)

$autoload['libraries'] = array('Cismarty');
//目的是:讓系統(tǒng)運(yùn)行時(shí),自動(dòng)加載,不用人為的在控制器中手動(dòng)加載

7、在項(xiàng)目目錄的core文件夾中新建文件MY_Controller.php 內(nèi)容如下: // 擴(kuò)展核心控制類

<&#63;php if (!defined('BASEPATH')) exit('No direct access allowed.');
class MY_Controller extends CI_Controller { // 原文這里寫錯(cuò)
  public function __construct() {
    parent::__construct();
  }
  public function assign($key,$val) {
    $this->cismarty->assign($key,$val);
  }
  public function display($html) {
    $this->cismarty->display($html);
  }
}

配置完畢

使用方法實(shí)例:

在控制器中如:

<&#63;php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Welcome extends MY_Controller { // 原文這里寫錯(cuò)
  public function index()
  {
    //$this->load->view('welcome_message');
    $data['title'] = '標(biāo)題';
    $data['num'] = '123456789';
    //$this->cismarty->assign('data',$data); // 亦可
    $this->assign('data',$data);
    $this->assign('tmp','hello');
    //$this->cismarty->display('test.html'); // 亦可
    $this->display('test.html');
  }
}

然后再視圖中:試圖文件夾位于項(xiàng)目目錄的views之下:

新建文件test.html

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>{ $test.title}</title> //( 原文是 <title>{$test['title']}</title>,是錯(cuò)誤的寫法,也有可能是Smarty版本的原因)
<style type="text/css">
</style>
</head>
<body>
{$test.num|md5} // 原文這里也寫錯(cuò)了
<br>
{$tmp}
</body>
</html>

更多關(guān)于CodeIgniter相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《smarty模板入門基礎(chǔ)教程》、《codeigniter入門教程》、《CI(CodeIgniter)框架進(jìn)階教程》、《php優(yōu)秀開發(fā)框架總結(jié)》、《ThinkPHP入門教程》、《ThinkPHP常用方法總結(jié)》、《Zend FrameWork框架入門教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》

希望本文所述對大家基于CodeIgniter框架的PHP程序設(shè)計(jì)有所幫助。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1127873.htmlTechArticleCI框架集成Smarty的方法分析,ci框架集成smarty 本文實(shí)例講述了CI框架集成Smarty的方法。分享給大家供大家參考,具體如下: 因?yàn)镃I自帶的模板...
本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Laravel 教程
1600
29
PHP教程
1502
276
php如何使用CI框架? php如何使用CI框架? Jun 01, 2023 am 08:48 AM

隨著網(wǎng)路技術(shù)的發(fā)展,PHP成為了Web開發(fā)的重要工具之一。而其中一款流行的PHP框架——CodeIgniter(以下簡稱CI)也得到了越來越多的關(guān)注與使用。今天,我們就來看看如何使用CI框架。一、安裝CI框架首先,我們需要下載CI框架並安裝。在CI的官網(wǎng)(https://codeigniter.com/)上下載最新版本的CI框架壓縮包。下載完成後,解壓縮

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

PHP是一種流行的程式語言,廣泛應(yīng)用於Web開發(fā)。 CI(CodeIgniter)框架是PHP中最受歡迎的框架之一,它提供了一整套現(xiàn)成的工具和函數(shù)庫,以及一些流行的設(shè)計(jì)模式,讓開發(fā)人員能夠更有效率地開發(fā)Web應(yīng)用程式。本文將介紹使用CI框架開發(fā)PHP應(yīng)用程式的基本步驟和方法。了解CI架構(gòu)的基本概念和結(jié)構(gòu)在使用CI架構(gòu)之前,我們需要先了解一些基本的概念和結(jié)構(gòu)。下

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

PHP是一種廣泛使用的伺服器端腳本語言,而CodeIgniter4(CI4)是一個(gè)流行的PHP框架,它提供了一種快速而優(yōu)秀的方法來建立Web應(yīng)用程式。在這篇文章中,我們將透過引導(dǎo)您了解如何使用CI4框架,讓您開始使用此框架來開發(fā)出眾的網(wǎng)路應(yīng)用程式。 1.下載並安裝CI4首先,您需要從官方網(wǎng)站(https://codeigniter.com/downloa

PHP開發(fā)中如何使用Smarty模板引擎 PHP開發(fā)中如何使用Smarty模板引擎 Jun 27, 2023 pm 01:28 PM

身為PHP開發(fā)者,使用模板引擎是理所當(dāng)然的選擇。 Smarty是一種流行的模板引擎,它提供了一種將HTML/CSS/JavaScript與PHP程式碼分開的方式,使開發(fā)人員能夠更好地組織和管理專案。在本文中,我們將學(xué)習(xí)PHP開發(fā)過程中如何使用Smarty模板引擎。一、安裝Smarty在之前,我們必須安裝Smarty。在本文中,我們將使用Composer安裝

PHP中的模板引擎Smarty初探 PHP中的模板引擎Smarty初探 May 11, 2023 pm 05:15 PM

現(xiàn)如今,網(wǎng)站的開發(fā)離不了一個(gè)重要的組成部分——模板引擎。模板引擎是指一種將頁面模板和資料結(jié)合起來產(chǎn)生具有特定格式的html程式碼的工具。在各種網(wǎng)站開發(fā)框架中,模板引擎是一個(gè)必不可少的元件,因?yàn)槟0逡婵梢源罅繙p少程式碼的重複性和提高頁面的動(dòng)態(tài)性。其中一個(gè)最常見且流行的模板引擎是Smarty。 Smarty是基於PHP語言開發(fā)的DSL(DomainSpecif

如何使用PHP和Smarty實(shí)現(xiàn)前後端分離開發(fā) 如何使用PHP和Smarty實(shí)現(xiàn)前後端分離開發(fā) Jun 25, 2023 pm 01:46 PM

在現(xiàn)代web開發(fā)中,前後端分離已經(jīng)成為了一個(gè)非常流行的趨勢,它能夠讓開發(fā)者更好地組織專案並且提高了專案開發(fā)的效率。 PHP和Smarty是兩個(gè)非常常用的技術(shù),它們可以用來實(shí)現(xiàn)前後端分離的開發(fā)方式。本文將會(huì)介紹如何使用PHP和Smarty來實(shí)現(xiàn)前後端分離開發(fā)。什麼是前後端分離開發(fā)在傳統(tǒng)的web開發(fā)中,前端主要負(fù)責(zé)頁面的呈現(xiàn)以及與後端互動(dòng)的邏輯。後端則主要負(fù)責(zé)業(yè)

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

隨著網(wǎng)路的發(fā)展和不斷地融入人們的生活,網(wǎng)路應(yīng)用的開發(fā)變得越來越重要。 PHP作為一種眾所周知的程式語言,已經(jīng)成為了開發(fā)網(wǎng)路應(yīng)用程式的首選語言之一。而開發(fā)人員可以使用眾多的PHP框架來簡化開發(fā)過程,其中最受歡迎的之一是CodeIgniter(CI)框架。 CI是一個(gè)強(qiáng)大的PHPweb應(yīng)用框架,它擁有輕量級、簡單易用、優(yōu)化性能等特點(diǎn),可以讓開發(fā)人員快速構(gòu)建

ci框架如何引入css ci框架如何引入css Dec 26, 2023 pm 05:20 PM

CI框架中引入CSS樣式的步驟如下:1、準(zhǔn)備CSS檔案;2、將CSS檔案儲(chǔ)存在CI框架專案的適當(dāng)位置;3、在需要使用CSS樣式的頁面中,透過HTML的<link>標(biāo)籤引入CSS文件;4、在HTML元素中使用CSS類別或ID名稱來套用對應(yīng)的樣式即可。

See all articles