本文目錄一覽:
- 1、介紹個 php模板引擎
- 2、thinkphp3.2 自定義模板路徑 thinkphp 如何自定義模板路徑?比如display($template);
- 3、PHP 模板引擎的簡單代碼怎麼弄!
- 4、模板引擎種類和適用範圍 smarty是不是只可用於php
- 5、php模板都有哪些啊,我是新手老是聽說php模板,但是不清楚php模板都有哪些,及哪些php模板安全和流行
- 6、php 模板引擎有什麼好?本想自己寫一個模板引擎,融合到自己設計的框架中去(現在使用類似 word
介紹個 php模板引擎
模板只用smarty。大小皆宜。
雖然目前模板也有不少種,但只有smarty最接近MVC。
另外,就如你說,小站不太適合smarty,有點大炮打鳥的感覺。
沒聽說國內有什麼好的模板引擎。不過有些不錯的開發框架 。PHP的開發框架多如牛毛。樓上的PHPLIB也是國外的。
smarty也有中文手冊,當然,是國內翻譯的,smarty網站上是找不到的。PHPLIB雖然小,但是如果使用了它,對於網站的訪問速度上遠不如smarty好。因為smarty有一個編譯緩存機制,PHPLIB只有一個編譯機制,沒有緩存。
所以還是直接就上手smarty吧。
其實smarty很容易的,就那麼幾條命令,還沒有PHP的一組字符串操作函數多。
thinkphp3.2 自定義模板路徑 thinkphp 如何自定義模板路徑?比如display($template);
那你可以自己創建一個公共控制器如 commonController.class.php。然後每一個前端的控制器都繼承這個公共的控制器,在這個控制器裡面創建一個方法,參考display方法寫一個,將裡面的路徑什麼的按照自己的喜好寫就行了。
PHP 模板引擎的簡單代碼怎麼弄!
//phpcms 的核心模板解析函數
/*
*/
function template_parse($str)
{
$str = preg_replace(“/\{(\\$[a-zA-Z0-9_\[\]\’\”\$\x7f-\xff]+)\}/es”, “addquote(‘?php echo \\1;?’)”,$str);
$str = preg_replace(“/\{([A-Z_\x7f-\xff][A-Z0-9_\x7f-\xff]*)\}/s”, “?php echo \\1;?”,$str);
$str = preg_replace(“/([\n\r]+)\t+/s”,”\\1″,$str);
$str = preg_replace(“/\\!\-\-\{(.+?)\}\-\-\/s”, “{\\1}”,$str);
$str = preg_replace(“/\{template\s+(.+)\}/”,”\n?php include template(\\1); ?\n”,$str);
$str = preg_replace(“/\{include\s+(.+)\}/”,”\n?php include \\1; ?\n”,$str);
$str = preg_replace(“/\{php\s+(.+)\}/”,”\n?php \\1?\n”,$str);
$str = preg_replace(“/\{if\s+(.+?)\}/”,”?php if(\\1) { ?”,$str);
$str = preg_replace(“/\{else\}/”,”?php } else { ?”,$str);
$str = preg_replace(“/\{elseif\s+(.+?)\}/”,”?php } elseif (\\1) { ?”,$str);
$str = preg_replace(“/\{\/if\}/”,”?php } ?”,$str);
$str = preg_replace(“/\{loop\s+(\S+)\s+(\S+)\}/”,”?php if(is_array(\\1)) foreach(\\1 AS \\2) { ?”,$str);
$str = preg_replace(“/\{loop\s+(\S+)\s+(\S+)\s+(\S+)\}/”,”\n?php if(is_array(\\1)) foreach(\\1 AS \\2 = \\3) { ?”,$str);
$str = preg_replace(“/\{\/loop\}/”,”\n?php } ?\n”,$str);
$str = preg_replace(“/\{tag_([^}]+)\}/e”, “get_tag(‘\\1’)”, $str);
$str = preg_replace(“/\{\\$([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*\(([^{}]*)\))\}/”,”?php echo \\1;?”,$str);
$str = preg_replace(“/\{(\\$[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)\}/”,”?php echo \\1;?”,$str);
}
function addquote($var)
{
return str_replace(“\\\””, “\””, preg_replace(“/\[([a-zA-Z0-9_\-\.\x7f-\xff]+)\]/s”, “[‘\\1’]”, $var));
}
模板引擎種類和適用範圍 smarty是不是只可用於php
Smarty是一個使用PHP寫出來的模板引擎,是目前業界最著名的PHP模板引擎之一。它分離了邏輯代碼和外在的內容,提供了一種易於管理和使用的方法,用來將原本與HTML代碼混雜在一起PHP代碼邏輯分離。簡單的講,目的就是要使PHP程序員同前端人員分離,使程序員改變程序的邏輯內容不會影響到前端人員的頁面設計,前端人員重新修改頁面不會影響到程序的程序邏輯,這在多人合作的項目中顯的尤為重要。
Smarty優點1. 速度:採用Smarty編寫的程序可以獲得最大速度的提高,這一點是相對於其它的模板引擎技術而言的。
2. 編譯型:採用Smarty編寫的程序在運行時要編譯成一個非模板技術的PHP文件,這個文件採用了PHP與HTML混合的方式,在下一次訪問模板時將WEB請求直接轉換到這個文件中,而不再進行模板重新編譯(在源程序沒有改動的情況下)
3. 緩存技術:Smarty選用的一種緩存技術,它可以將用戶最終看到的HTML文件緩存成一個靜態的HTML頁,當設定Smarty的cache屬性為true時,在Smarty設定的cachetime期內將用戶的WEB請求直接轉換到這個靜態的HTML文件中來,這相當於調用一個靜態的HTML文件。
4. 插件技術:Smarty可以自定義插件。插件實際就是一些自定義的函數。
5. 模板中可以使用if/elseif/else/endif。在模板文件使用判斷語句可以非常方便的對模板進行格式重排。
不適合使用Smarty的地方需要實時更新的內容。例如像股票顯示,它需要經常對數據進行更新,這類型的程序使用smarty會使模板處理速度變慢。
小項目。小項目因為項目簡單而美工與程序員兼於一人的項目,使用Smarty會在一定程度上喪失PHP開發迅速的優點。
(PS:不過為了整個項目的規範,請大家嘗試去使用模板引擎。其實習慣了,開發速度會更加快,以上是沒有用習慣模板引擎的開發者遇到的問題)
php模板都有哪些啊,我是新手老是聽說php模板,但是不清楚php模板都有哪些,及哪些php模板安全和流行
SmartySmarty的特點是將模板編譯成PHP腳本,然後執行這些腳本。很快,非常靈活。
Heyes Template Class一個非常容易使用,但功能強大並且快速的模板引擎,它幫助你把頁面布局和設計從代碼中分離。
FastTemplate一個簡單的變量插值模板類,它分析你的模板,把變量的值從HTML代碼中分離處理。
ShellPage一個簡單易用的類,可以讓你的整個網站布局基於模板文件,修改模板就能改變整個站點。
STP Simple Template Parser一個簡單、輕量級並且易於使用的模板分析類。它可以從多個模板中組裝一個頁面,把結果頁面輸出到瀏覽器或者文件系統。
OO Template Class一個你可以用在自己程序中的面向兌現的模板類。
SimpleTemplate一個可以創建和結構化網站的模板引擎。它可以解析和編譯模板。
bTemplate短小但是快速的模板類,允許你把PHP邏輯代碼從HTML修飾代碼中分離。
Savant一個強大且輕量級的PEAR兼容模板系統。它是非編譯型的,使用PHP語言本身做為它的模板語言。
ETS – easy template system可以使用完全相同數據重組模板的模板系統。
EasyTemplatePHP適用於你的站點的一個簡單但是強大的模板系統。
vlibTemplate一個快速、全能的模板系統,它包含一個緩存和調試類。
AvanTemplate多字節安全的模板引擎,佔用很少系統資源。它支持變量替換,內容塊可以設置顯示或隱藏。
Grafx Software’s Fast Template一個修改版本的Fast Template系統,它包括緩存功能,調試控制台以及沉默去除為賦值塊。
TemplatePower一個快速、簡單、功能強大的模板類。主要功能有嵌套的動態塊支持,塊/文件包含支持以及顯示/隱藏未賦值的變量。
TagTemplate這個庫的功能被設計來使用模板文件,同時允許你從HTML文件檢索信息。
htmltmpl: templating engine一個適用於Python和PHP的模板引擎。它面向希望在項目中分離代碼和設計的web應用開發人員。
PHP Class for Parsing Dreamweaver templates一個分析Dreamweaver模板的簡單類,被用於Gallery 2 和WordPress的自定義模塊中。
MiniTemplator (Template Engine)針對HTML文件的一個緊湊型模板引擎。對於模板變量和塊定義它具有簡單的語法。其中塊可以嵌套。
Layout Solution簡化網站開發和維護。它擁有常用的變量和頁面元素使你不需要重複做頁面布局工作。
Cached Fast Template它已經納入 FastTemplate ,允許你緩存模板文件,甚至可以在分離的塊內容上緩存不同的規格。
TinyButStrong一個支持MySQL, Odbc, Sql-Server和ADODB的模板引擎。它包含7個方法和兩個屬性。
Brian Lozier’s php based template engine只有2K大小,非常快並且是面向對象設計。
WACT一個從設計中分離代碼的模板引擎。
PHPTAL一個PHP下面的XML/XHTML模板庫。
php 模板引擎有什麼好?本想自己寫一個模板引擎,融合到自己設計的框架中去(現在使用類似 word
推薦使用thinkphp框架,使用wp框架其實並不需要include包含了,可以把自定義代碼全部寫到functions.php里或做個插件
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/152110.html