PHP Composer-如何与多个供应商合作?
我正在从事的项目需要使用来自多个第三方的PHPSDK。其中两个是Amazon Web服务和Google API客户端(用于Google+),它们都使用Composer来管理文件/依赖项。不过,我不确定如何最好地在代码/结构方面进行设置,因为我不需要同时加载AWS和Google。我可能在一个领域需要AWS,在另一个领域需要Google,所以我不想每次都自动加载所有内容,并从我不需要的库中获得额外的开销。现在我的结构设置如下:PHP Composer-如何与多个供应商合作?,php,composer-php,Php,Composer Php,我正在从事的项目需要使用来自多个第三方的PHPSDK。其中两个是Amazon Web服务和Google API客户端(用于Google+),它们都使用Composer来管理文件/依赖项。不过,我不确定如何最好地在代码/结构方面进行设置,因为我不需要同时加载AWS和Google。我可能在一个领域需要AWS,在另一个领域需要Google,所以我不想每次都自动加载所有内容,并从我不需要的库中获得额外的开销。现在我的结构设置如下: awscode.php googlecode.php libs co
- awscode.php
- googlecode.php
- libs
- composer.json
- 作曲家洛克
- 卖主
- autoload.php
- 自动气象站
- 谷歌
- awscode.php
- googlecode.php
- 自由基
- 自动气象站
- composer.json
- 作曲家洛克
- 卖主
- autoload.php
- 自动气象站
- 谷歌
- composer.json
- 作曲家洛克
- 卖主
- autoload.php
- 谷歌
- 自动气象站
显然,我对Composer以及如何最好地利用它是个新手,我想确保我正在为我的情况和未来的管理设置一种最好的方式。使用Composer时,它只在代码中实际调用类时加载类。据我所知,这使用了PHP
因此,在回答您的问题时,不会有显著的额外开销(如果有)。自动加载意味着定义类的文件在您首次使用该类时被读取
您应该将所有项目依赖项包含在一个composer.json中,它们不会加载到不使用它们的文件中。Oh nice。因此,只要确认我当前设置它的方式(列出的第一层次结构)是最好的方法,而且Composer只会在调用这些类时加载它实际需要的内容?理想情况下,Composer.json、Composer.lock和vendor目录应该位于项目的根目录中,但我想这也取决于首选项。但是,是的,第一种方法是最好的。让作曲家第一次运行有时会有点混乱和烦琐,但从长远来看,它会有很大帮助。特别是在将来获得库的更新时。非常好。非常感谢您回答我最初的问题并提供更多信息。我会坚持原来的方式!您确定仍然无法从不同的供应商目录获取包吗?我刚刚从两个目录中都包含了autoload.php,我觉得它很好用。