我有一個簡單的PHP應用程序,也包含一些像DB連接字符串和一些路徑的配置設置的類。我最好在哪裏放置include_once('config/config.php');
的代碼?我在哪裏可以將include_once放在PHP應用程序中?
感謝
我有一個簡單的PHP應用程序,也包含一些像DB連接字符串和一些路徑的配置設置的類。我最好在哪裏放置include_once('config/config.php');
的代碼?我在哪裏可以將include_once放在PHP應用程序中?
感謝
有一個名爲auto_prepend_file
的PHP設置,您可以使用它。將它設置爲一個文件,是你的腳本的引導:
bootstrap.php中
<?php
/*
* bootstrap
*
* this file will be always loaded first.
*/
include(__DIR__.'/config/config.php');
您可以再後來就包括你的應用程序需要工作的一切。
如果你不想使用INI設置,您可以和您的所有腳本只包括bootstrap.php
文件,在最高層:
用戶/ profile.php
<?php
/*
* show profile of a user
*/
require(__DIR__.'/../bootstrap.php'); # bootstrap
在您的應用程序的開頭部署一箇中心點通常是個好主意,這通常稱爲引導程序。
如果你沒有很多的文件,只是把一切都放在同一個源目錄。
否則,「包含」或「inc」是常用名稱。通常與「src」和「imgs」並行;根據您的應用程序的根源。
但是,爲什麼不只是使用「配置」,就像你的例子?聽起來像是一個完全適合我的地方:)
我喜歡用一個入口點使用前端控制器模式。在這一點上,我創建了一個Config類的實例,其中包括Db配置和其他。
那麼這是最合理的方式。這也被大多數PHP框架+1使用 – 2013-11-16 22:50:43
你需要在使用它們之前包含文件。
因此,一個文件的開始是一個很好的選擇。
取決於情況。 通常靠近頂部。這是最常用的,但有些情況下,只有在滿足某些設置的情況下才需要包含這些情況。
然後你可以把它包括在你需要的地方,但它不那麼幹淨。
在你的情況下配置應該包括在最乾淨的解決方案。
另請注意,在使用config文件中的變量之前,您需要包含它。 這就是爲什麼包括在文件頂部完成的原因。
從理論上講,您可以在PHP代碼中的任何位置包含文件,只要在包含之後使用它即可。
但是,在實踐中,我通常看到包括在兩個地方。
如果它只是一個沒有功能的普通文件,那麼它通常放在文件的頂部。這提高了代碼的可讀性。任何開始閱讀你的代碼的人都會知道在外部依賴關係的開始。
如果有函數,那麼也在函數的開始處 - 通過與上述相同的邏輯。請注意,它包含在函數內部而不是文件的頂層。這主要是因爲其他功能可能不需要它。即使他們這樣做,我認爲爲每個函數保留include都會使函數更加模塊化 - 所有函數中的依賴關係。
你是什麼意思? – EOB 2012-01-10 08:04:47
paulsm4:是的,我的意思是我把它放在代碼中? – EOB 2012-01-10 08:07:55