2012-06-24 70 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使用该目录作为默认目录。您遇到的问题是,它不是默认目录。对不起,我的答案很混乱。 –