我有一个用PHP创建的应用程序(“foo”),它使用composer来获取其依赖项。其中一个依赖项是我们创建的另一个项目(“bar”)。
当通过composer向foo应用程序添加bar时,bar需要访问foo应用程序的MySQL数据库。数据库凭据存储在foo应用程序的config目录中。
我的foo的文件结构看起来像这样:
app/ # foo应用程序的文件 config/ # 访问MySQL的配置信息 vendor/ # 由composer管理的文件,包括我们的bar应用程序 composer.json # 将bar加载到供应商/目录的信息
当我单独开发bar应用程序时,我需要能够将config/目录放置在我的bar开发应用程序的根目录下,并且bar需要能够访问它。如果bar是另一个composer项目的一部分(如本例中的foo),则需要告诉bar去foo的根目录查找config/目录,而不是在bar的根目录中查找。
bar如何确定config/的正确目录?我认为我需要找到composer安装的根目录,但我不知道如何做到这一点。
以现实世界的例子为例...
我将这个foo应用程序部署到Amazon OpsWorks。OpsWorks会将opsworks.php文件放置在部署应用程序的根目录中。我需要我的子模块(上面的bar)知道在composer项目的根目录中访问opsworks.php文件的位置。我需要考虑到composer可能设置为不将bar放置在/vendor/目录中,而可能具有不同的文件结构设置。
换句话说,我想问Composer应用程序的根目录在哪里。
当通过composer向foo应用程序添加bar时,bar需要访问foo应用程序的MySQL数据库。数据库凭据存储在foo应用程序的config目录中。
我的foo的文件结构看起来像这样:
app/ # foo应用程序的文件 config/ # 访问MySQL的配置信息 vendor/ # 由composer管理的文件,包括我们的bar应用程序 composer.json # 将bar加载到供应商/目录的信息
当我单独开发bar应用程序时,我需要能够将config/目录放置在我的bar开发应用程序的根目录下,并且bar需要能够访问它。如果bar是另一个composer项目的一部分(如本例中的foo),则需要告诉bar去foo的根目录查找config/目录,而不是在bar的根目录中查找。
bar如何确定config/的正确目录?我认为我需要找到composer安装的根目录,但我不知道如何做到这一点。
以现实世界的例子为例...
我将这个foo应用程序部署到Amazon OpsWorks。OpsWorks会将opsworks.php文件放置在部署应用程序的根目录中。我需要我的子模块(上面的bar)知道在composer项目的根目录中访问opsworks.php文件的位置。我需要考虑到composer可能设置为不将bar放置在/vendor/目录中,而可能具有不同的文件结构设置。
换句话说,我想问Composer应用程序的根目录在哪里。