2

我决定与其在每个应用程序的目录中都拥有一份 Zend Framework 的副本,不如将它保存在服务器上的一个位置,而我的所有网站都使用一个副本。但是,我希望我的应用程序的自定义类仍然在应用程序文件夹中。所以文件夹结构有点像这样:

webroot
 |...library
 |     |......Zend
 |
 |...app1
 |     |.....Library
 |              |.......App1
 |
 |...app2
       |.....Library
                |.......App2

如何让 Zend Loader 自动查找 App1 和 App2 中的类?(最好只更改 application.ini 或 bootstrap.php 中的某些内容)

4

2 回答 2

0

您可以创建一个库目录,其中包含指向实际实时共享代码的符号链接:

webroot/library/Zend -> /path/to/Zend/library/Zend
webroot/library/App1 -> /path/to/App1/library/App1
webroot/library/App2 -> /path/to/App2/library/App2

然后,您只需要路径中的 webroot/library。

要处理版本更新,您只需更改符号链接以指向新安装:

webroot/library/Zend -> /path/to/Zend-test/library/Zend
于 2010-09-22T18:13:09.833 回答
0

Zend Loader 将使用您的 php include_path来查找要加载的文件。

只需将 webroot/library 添加到您的 include_path(您可以在 php.ini 或引导程序中执行此操作),自动加载器应该能够找到框架。

如果您渴望拥有 Zend 的共享版本,您也可以使用 pear ( http://pear.zfcampus.org/ ) 来安装它,然后只要您将 include_path 设置为在您的 pear 目录中查找 ( /usr/share/php 在我的机器上)那么你很高兴。

不过,我建议只对开发机器执行此操作,因为其他人说,在生产时能够控制每个应用程序的 zend 版本是个好主意。

于 2010-09-23T03:10:24.167 回答