2011-08-20 151 views

回答

221

它沒有意義,它只是一個文件擴展名。如果該文件被設計爲包含在其他PHP文件中,那麼使用.inc擴展名命名文件是一些人們的慣例,但這只是慣例。

它確實有一個可能的缺點,即服務器通常沒有配置爲將.inc文件解析爲php,因此如果該文件位於您的web根目錄並且您的服務器以默認方式配置,則用戶可以查看您的通過直接訪問URL,.inc文件中的PHP源代碼。

它唯一可能的優點是很容易識別哪些文件被用作包含文件。雖然簡單地給它們一個.php擴展名並將它們放在一個包含文件夾中的效果相同,但沒有上述缺點。

+8

@domanokz是的,它將是安全的,然後使用。只有在使用'require'或'include'結構時纔會將其視爲php,並在其餘時間視爲純文本。將它視爲服務器上的文本不會受到傷害,只會在代碼以文本形式提供給最終用戶時纔會受到影響)。 – Paulpro

+0

@Paulpro我一直想知道這一點,謝謝你明確這一點! –

+1

很好的解釋。剛從一份新工作開始,在整個應用程序中看到這些亂七八糟的東西。我不知道這純粹是一種慣例。謝謝! – Chev

10

這只是開發人員能夠輕鬆識別旨在用作包含的文件的一種方式。這是一個流行的慣例。它對PHP沒有任何特殊含義,並且不會改變PHP或腳本本身的行爲。

+1

+1「它沒有任何特殊含義PHP」 – dpp

2

在我看來,這些被用來在開發時快速查找包含文件。真的,這些已經被慣例和框架設計所淘汰。

+0

這是毫無意義的評論。我總是使用.inc作爲包含文件,因爲它很容易,沒有負面影響,只有正面影響。在這種情況下,「約定」一詞沒有指稱的意思。和PHP框架,不知道,從來沒有碰過它們,我寫代碼,所以'框架'取代PHP編碼的概念是錯誤的。如果你喜歡它,使用這些東西沒什麼問題,但是相信它在代碼編輯器中被替換爲標準編程是錯誤的。 – Lizardx

16

通常意味着它需要包含的文件,並且本身不會生成獨立腳本。

這是一個約定而不是編程技術。

雖然如果您的Web服務器配置不正確,它可能會暴露文件的擴展名如.inc。

+4

+1「本身並沒有獨立的腳本」 – dpp

3

這是程序員通常用來爲包含文件標識不同文件名的約定。因此,如果其他開發人員正在處理他們的代碼,他可以通過查看文件的名稱輕鬆確定該文件的存在以及該文件的用途。

+0

+1「爲其他開發者」 – dpp

+0

@domanokz。謝謝... –

3

只需添加。另一個缺點是,.inc文件無法被IDE識別,因此您無法利用自動完成或代碼預測功能。

59

如果您擔心文件的內容被傳送而不是輸出。您可以使用雙擴展名:file.inc.php。然後它提供幫助和可維護性的相同目的。

我通常爲每個第2個PHP文件在我的網站:

  1. 一個名爲根文件夾welcome.php,包含所有的HTML標記。
  2. inc文件夾中的另一個名爲welcome.inc.php的文件夾包含特定於welcome.php頁面的所有PHP函數。

編輯:使用雙擴展.inc.php的另一個好處是任何IDE仍然可以將該文件識別爲PHP代碼。

+3

+1值得一提的是,我在我的一個項目中做到了這一點。 – dpp

相關問題