2012-06-24 127 views
1

爲什麼路徑是硬編碼的?例如:Youtube API需要路徑

require_once 'Zend/Gdata/Extension.php'; 

的事情是,Zend文件夾不在根 - 它在library/packages

所以我不得不改變每個文件的路徑? 如:

define('ROOT_PACKAGES', dirname(__FILE__) . "/library/packages/"); 

ROOT_PACKAGE.'Zend/Gdata/Extension.php'; 

回答

0

讓我通過問你一個問題來解釋。當你使用'Zend/Gdata/Extension.php'時 - 它尋找Zend子目錄的目錄是什麼?您將回答「/ library/packages /」,並導致關鍵問題。 爲什麼?

更新:我的問題不是爲什麼使用該目錄,這就是爲什麼O/S將該目錄作爲默認目錄。

在任何時間點都有一個默認目錄。然後使用該默認目錄評估相對路徑。但是它的價值並沒有鎖定到特定的目錄。這取決於應用程序的運行方式。我假設你有一個Web應用程序,基本上你的應用程序或Web服務器中的任何代碼都可以更改目錄。

所以是的,使用ROOT_PACKAGES。您應該始終使用完全限定的目錄。

+0

Web應用程序正在使用MVP,這就是爲什麼Zend文件夾必須位於不在index.php文件所在的根目錄下的庫/包中。 –

+0

我想你誤解了我的「爲什麼?」。這不是爲什麼你把它們放在那個目錄下,這就是爲什麼O/S使用該目錄作爲默認目錄。您遇到的問題是,它不是默認目錄。對不起,我的答案很混亂。 –