我對PHP很新,但對於它的工作原理我有一個公平的想法。 我的問題是這樣的:是否有可能在HTML中有%username%這樣的東西,當PHP識別這個文本時,它會輸出一個用戶名? 即:將%用戶名%變成實際的用戶名?HTML文本觸發器PHP
這將如何完成,或者它是如何工作的?
感謝您提前提供所有幫助!
我對PHP很新,但對於它的工作原理我有一個公平的想法。 我的問題是這樣的:是否有可能在HTML中有%username%這樣的東西,當PHP識別這個文本時,它會輸出一個用戶名? 即:將%用戶名%變成實際的用戶名?HTML文本觸發器PHP
這將如何完成,或者它是如何工作的?
感謝您提前提供所有幫助!
這通常通過模板引擎如例如Smarty完成。從smarty.net
What's a template engine and why should I use one?
Smarty的是PHP模板引擎,請參閱下的定義。更具體地說,它有助於 以可管理的方式將應用程序邏輯和內容從其演示文稿中分離出來。最好在應用程序員和模板設計人員扮演不同角色 或大多數情況下不是同一個人的情況下描述。例如,假設您 正在創建顯示報紙文章的網頁。 文章標題,標語,作者和正文是內容元素,它們不包含有關如何呈現它們的信息 。他們 傳遞到Smarty的應用程序,然後在模板設計 編輯模板,並使用html標籤和模板 標籤的組合來格式化這些元素(HTML表格, 背景顏色,字體大小,樣式表的呈現,等等)有一天 程序員需要改變檢索文章內容的方式( 更改應用程序邏輯)。此更改不會影響設計人員的模板 ,但內容仍然會到達模板中,並且完全相同 。同樣,如果模板設計人員想要完全重新設計模板,則不需要更改應用程序邏輯。 因此,程序員可以對應用程序邏輯 進行更改,而不需要重新構建模板,並且模板設計器 可以在不中斷應用程序邏輯的情況下更改模板。
除smarty外還有很多其他的模板引擎,只是google而已。
比你的幫助!這聽起來像我正在尋找的,但是,使用像Smarty這樣的東西減慢你的網頁? – zuc0001
是的,是這樣的:
<?
$username = "However you get your username";
// other serverside logic
?>
<HTML>
<BODY>
<? echo $username; ?>
<BODY>
</HTML>
它不會得到任何短。
這只是一個回聲陳述,我不認爲我需要解釋這一點。
還有更多選項可以實現此目的 - 您可以使用php.ini選項short_open_tag
來使用<?=$varname ?>
語法。您也可以使用php.ini選項asp_tags
將var輸出使用<%=$var %>
。
但我認爲最好的選擇是使用像Smarty這樣的模板引擎。使用模板引擎,您可以嚴格分離設計和代碼邏輯。
你的意思是相當於ASP.NET控件的東西? –
谷歌爲「php模板引擎」。那裏有多個選項。 – Ryan