2009-04-26 97 views
1

我正在努力改變一個大的,有點寫得差(但不是非常如此),PHP網站使用一個類,它存儲的功能,這樣做的事情就像寫標準頁眉的參數改變的東西就像標題的文字一樣。舊版本使用的複製和粘貼HTML頭中的每個文件的東西,如:PHP包括函數

<div class="left"><?php include("left.php"); ?></div> 

凡包含的文件既有非呼應HTML和普通的PHP。這些包括似乎可以繼續使用,但我不知道它們是如何工作的,就我的知識而言,包含的文件只是直接替換include()方法。

難道會更好:
-Re寫的包含文件呼應所有標準的HTML
-Simply這些文件的內容移動到我的新功能,在適當情況下(據我所知,他們沒有使用任何地方除了他們將在我的新功能)
- 其他

謝謝。

回答

4

閱讀http://php.net/include

如果include出現於調用文件中的一個函數裏,那麼所有包含在調用的文件的行爲的代碼,就好像它已經在該函數內部定義。所以,它將遵循該函數的變量範圍。此規則的一個例外是魔法常量,在包含發生之前由解析器進行評估。

當包含文件時,解析會從目標文件的開始處退出PHP模式並進入HTML模式,並在結束時重新開始。因此,目標文件中應該作爲PHP代碼執行的任何代碼都必須包含在有效的PHP開始和結束標記中。

PHP不會複製和粘貼包含文件中的代碼來替換include語句,就像C/C++一樣。所以你不必擔心被包含文件中的<?php?>標籤搞亂了包含它的文件。

0

如果你實際上沒有解析任何東西,比如變量,那麼編寫你的PHP來回顯所有的HTML就會有點低效。這就是說,我似乎無法改變自己做這件事的習慣。 :)

精心設計的網頁只會在必要時使用PHP,我認爲您目前的包含方法可能是您網站的最佳方法。

如果您的網站的大部分突然變成動態生成,可能值得重新審視這個問題。