溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

PHP中的模板引擎介紹

發(fā)布時(shí)間:2020-07-02 09:51:24 來(lái)源:億速云 閱讀:154 作者:Leah 欄目:編程語(yǔ)言

今天就跟大家聊聊有關(guān)PHP中的模板引擎介紹,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

PHP模板引擎的由來(lái)

● 為了解決當(dāng)時(shí)混合開(kāi)發(fā)WEB應(yīng)用出現(xiàn)的一系列問(wèn)題:代碼難維護(hù),代碼不可重用,程序員要求知識(shí)廣等問(wèn)題

● 實(shí)現(xiàn)后端與前端不完全分離,開(kāi)發(fā)與美工可以分工合作,提高效率

PHP模板引擎帶來(lái)的問(wèn)題

● 由于是不完全分離,導(dǎo)致分工中還有部分耦合地方

● PHP模板引擎 導(dǎo)致了 模板引擎語(yǔ)言 的誕生,增加學(xué)習(xí)成本,還導(dǎo)致是前端和后端誰(shuí)學(xué)習(xí)的爭(zhēng)論

當(dāng)今PHP模板引擎還有價(jià)值嗎?

● 當(dāng)前完全前后端分離的解決方案已經(jīng)出現(xiàn),前端三大框架(vuejs/React..等)都已經(jīng)實(shí)現(xiàn)前端模板引擎了,所以基本PHP模板已經(jīng)給取代了,減輕服務(wù)端壓力

● 但如果要維護(hù)老項(xiàng)目,還需要用到PHP模板引擎,如果想簡(jiǎn)單快捷開(kāi)發(fā)PC項(xiàng)目,使用PHP模板引擎是比較好的選擇

PHP模板引擎實(shí)現(xiàn)原理

● 讀取模板文件的內(nèi)容

$content = file_get_contents($tmplFile);

● 使用正則表達(dá)式把模板語(yǔ)言替換為PHP語(yǔ)言

$repContent = preg_replace($pattern, $replacement, $content);

● 保存成新的.php文件

file_put_contents($comFile,$repContent);

● 最后把新生成的.php文件包含進(jìn)來(lái)

include $comFilePath;

include與require注意事項(xiàng)

● include與require的功能是把后面的字符串作為文件名,不論文件擴(kuò)展名是不是.php,都認(rèn)為那個(gè)文件是php程序,引入到當(dāng)前程序中運(yùn)行。

● php程序如果沒(méi)有被<?php和?>包起來(lái),就會(huì)直接輸出。

● 當(dāng)一個(gè)文件被包含時(shí),語(yǔ)法解析器在目標(biāo)文件的開(kāi)頭脫離 PHP 模式并進(jìn)入 HTML 模式,到文件結(jié)尾處恢復(fù)。由于此原因,目標(biāo)文件中需要作為 PHP 代碼執(zhí)行的任何代碼都必須被包括在有效的 PHP 起始和結(jié)束標(biāo)記之中。

看完上述內(nèi)容,你們對(duì)PHP中的模板引擎有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI