如何在同一框架下为多个项目使用公共目录(库)


How to use a common directory (Library) for many projects based on same framework?

我已经开始学习Zend Framework,现在我已经创建了几乎6个项目进行练习,并且在每个项目的库中我都复制了Zend文件夹。有没有一种方法可以将Library文件夹或Library/Zend文件放在一个公共位置,并通过其他方式将其包括在内,这样可以节省我的磁盘空间。

您可以将其放在任何位置,并将其添加到php.ini中的include路径中,或者在运行时将其添加到index.php中的include路径中,就在您开始调用引导程序之前:

$path = 'path_to_zend';
set_include_path(get_include_path() . PATH_SEPARATOR . $path);

http://php.net/manual/en/function.set-include-path.php

这样,如果您部署到不允许修改php.ini的主机,就不必依赖于修改php.ini

如果您使用的是Linux,则可以使用软链接。

对于Windows,您可以通过分配一个专用于第三方库的文件夹并在PHP的include_path中添加该目录来获得。这可以在您的php.ini文件中找到。

我的风格是有一个D:/PHP_Libraries文件夹,把Zend Framework放在那里(以及其他库,如Doctrine),我的php.ini是这样的:

include_path= ".;c:'php'includes;d:'PHP_Libraries"

您可以对Linux发行版执行同样的操作。这也可以在Mac电脑上完成。