php自定義模板引擎,php原生模板引擎

本文目錄一覽:

介紹個 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-tw/n/152110.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-12 00:55
下一篇 2024-11-12 00:55

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Java2D物理引擎簡介及應用

    本文將介紹Java2D物理引擎的基本概念、實現原理及應用案例,以及對應代碼示例。 一、物理引擎概述 物理引擎是一種計算機程序,用於模擬物理系統中的對象和其互動,如重力、碰撞、彈力等…

    編程 2025-04-29
  • 心形照片拼圖模板

    如何使用心形照片拼圖模板 一、模板介紹 心形照片拼圖模板是一種讓用戶可以將自己的照片拼接成一個心形的巧妙設計,每個照片都是一個拼圖塊,當所有的照片配合完成時,呈現出一個完整的心形。…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • Python中自定義函數必須有return語句

    自定義函數是Python中最常見、最基本也是最重要的語句之一。在Python中,自定義函數必須有明確的返回值,即必須要有return語句。本篇文章將從以下幾個方面對此進行詳細闡述。…

    編程 2025-04-29
  • leveldb和unqlite:兩個高性能的資料庫存儲引擎

    本文將介紹兩款高性能的資料庫存儲引擎:leveldb和unqlite,並從多個方面對它們進行詳細的闡述。 一、leveldb:輕量級的鍵值存儲引擎 1、leveldb概述: lev…

    編程 2025-04-28
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • 基尼係數Excel計算模板

    這篇文章將介紹基尼係數Excel計算模板,為大家詳細闡述如何使用Excel進行基尼係數的計算。 一、模板下載及導入 首先需要下載基尼係數的Excel計算模板,可以在Excel中通過…

    編程 2025-04-28
  • Python自定義列表

    本文將為大家介紹Python中自定義列表的方法和應用場景。對自定義列表進行詳細的闡述,包括列表的基本操作、切片、列表推導式、列表的嵌套以及列表的排序,希望能夠幫助大家更好地理解和應…

    編程 2025-04-27
  • 如何添加Python自定義模塊?

    Python是一種非常流行的腳本語言,因其易學易用和功能強大而備受歡迎。自定義模塊是Python開發中經常使用的功能之一。本文將從多個方面為您介紹如何添加Python自定義模塊。 …

    編程 2025-04-27

發表回復

登錄後才能評論