是一個把PHP和HTML分開的系統架構
基本上假如你用CI架構應該是不用特別用網頁模板
因為CodeIgniter本身view就有這種功能
因為我暑期特訓剛好學到來紀錄筆記
我發現我太生疏拉~
特訓期間我還一直在翻我的筆記
看來有作筆記有差
接下來看我Smarty超點單範例吧!!
為什麼叫"超簡單"?因為真的很簡單很精簡
所以很多重要的東西都沒講到
只是能讓他Hello World而已
開始吧
一開始要有PHP環境這自行GOOGLE方法
先來簡單講一下他的系統架構
最重要的就這四個資料夾
cache 快取用libs Smarty核心
templates 網頁模板
templates_c 編譯後的網頁模板
講了這麼多其實本範例只用到 libs、templates 兩個資料夾
為什麼?因為其他資料夾內容都是系統操控
只需要把 libs 內容匯入我們的網頁然後在 templates 裡面寫模板
首先先來官方網站下載系統核心
下載下來是ZIP檔我們只需要裡面的 libs 其他都不用
把 libs 放到你的專案內並且手動建其餘三個資料夾(cache、templates、templates_c)
在專案根目錄建立 index.php
<?php include_once('./libs/Smarty.class.php'); //包含smarty類檔案 $smarty = new Smarty(); //建立smarty實例對像$smarty //$smarty->templates("./templates"); //設定模板目錄 //$smarty->templates_c("./templates_c"); //設定編譯目錄 //—————————————————- //左右邊界符,預設為{},但實際應用當中容易與JavaScript //相衝突,所以建議設成<{}>或其它。 //—————————————————- $smarty->left_delimiter = '{'; $smarty->right_delimiter = '}'; $smarty->assign('name', '楊宇文'); //進行模板變數替換 //編譯並顯示位於./templates下的index.tpl模板 $smarty->display('index.tpl'); ?>有沒有發我把
$smarty->templates("./templates"); $smarty->templates_c("./templates_c");這兩行註解起來 因為我不知道為什麼有兩行會出錯
應該是指定模板資料夾的
但是如果自行設定路徑會出錯
這點給大家注意一下視情況修改
我看很多網路上的範例都有設定這個欄位
其實我看過源碼好像已經有預設值了
假如你有要自訂資料夾才需要吧
接下來在樣板資料夾(templates)下建立幾個檔案
header.tpl
<html> <head> <title>超簡單smarty範例</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head> <body>foot.tpl
<hr> <center>好奇筆記部落格</center> <hr> </body> </html>index.tpl
{* 顯示是smarty變數識符裡的用*包含的文字為註釋內容 *} {include file="header.tpl"}{*頁面頭*} 大家好,我叫{$name}, 歡迎大家閱讀我的smarty學習材料。 {include file="foot.tpl"}{*頁面尾*}
全部存檔後執行結果吧
有沒有限發現 index.tpl 裡面的{$name}被替換成跟目錄下 index.php
$smarty->assign('name', '楊宇文');
更改名稱了
這就是模板系統寫一次介面可以顯示各種不同的內容
目前就先寫到這裡
因為CodeIgniter本身就有類似功能其實假如是用網路上MVC架構的話應該是用不到Smarty
反正先筆記以後說不定我又會用到
也給大家參考拉~~~
沒有留言:
張貼留言