Php Zend项目架构
我目前正在为一个项目(或一系列项目)使用Zend 3。为了避免每个项目都有多个Php Zend项目架构,php,zend-framework,composer-php,zend-framework-mvc,zend-framework3,Php,Zend Framework,Composer Php,Zend Framework Mvc,Zend Framework3,我目前正在为一个项目(或一系列项目)使用Zend 3。为了避免每个项目都有多个vendor文件夹,我希望每个项目都从根级别运行一个vendor文件夹 在我的应用程序/public/index.php文件中,我更改了这一行: include __DIR__ . '/../vendor/autoload.php'; 为此: include __DIR__ . '/../../shared/vendor/autoload.php'; 当我这样做时,我看到了这个错误: 致命错误:无法初始化带有消息模
vendor
文件夹,我希望每个项目都从根级别运行一个vendor
文件夹
在我的应用程序/public/index.php
文件中,我更改了这一行:
include __DIR__ . '/../vendor/autoload.php';
为此:
include __DIR__ . '/../../shared/vendor/autoload.php';
当我这样做时,我看到了这个错误:
致命错误:无法初始化带有消息模块(应用程序)的未捕获异常“Zend\ModuleManager\exception\RuntimeException”。在C:\Users\b28934\Documents\server\UwAmp\www\zf3\app\vendor\zendframework\zend modulemanager\src\modulemanager.php的第203行中”
有什么建议吗?我的composer.json
文件中缺少什么吗
供应商
文件夹。现在驱动器空间很便宜。我看绝对没有理由vendor
文件夹,因为如果有两个项目需要相同的包,但版本不同,那么它就会失败供应商
文件夹。现在驱动器空间很便宜。我看绝对没有理由vendor
文件夹,因为如果有两个项目需要相同的包,但版本不同,那么它就会失败我建议保持简单。保持它像聪明人设计的一样。不要无缘无故地把它搞砸。关于你的第一点,内存不是问题。我希望使用由一个composer.json文件管理的同一个供应商文件夹,该文件夹将被所有四个web应用程序使用。在这种情况下,我将引入一个新模块/p通过composer打包,而不是更新每个网站供应商文件夹(通过composer一次更新一个),更新一个composer.json文件和一个vendor文件夹是有意义的,并让它在所有其他web应用程序中传播。不。项目1中需要package
foo/A
,项目2中需要packagefoo/B
。如果foo/A
取决于foo/C
版本1,那么foo/B
取决于foo/C
version 2然后一切都乱七八糟。我见过一些人的想法和你一样,每次这些人都以一个乱七八糟的设置结束,需要返回到一个项目一个vendor
文件夹原理。这是一个精心设计的机制。复制composer.json
并运行更新更容易每一个项目,并保持它们的独立性。如果出现任何问题,您可以将它们保留在不同的依赖项上。关于您的第一点,内存不是问题。我希望使用由一个composer.json文件管理的同一个供应商文件夹,这将被所有四个web应用程序使用。在这种情况下,我将引入一个新的模块/包通过composer,而不是更新每个网站的供应商文件夹(通过composer一次更新一个),更新一个composer.json文件和一个vendor文件夹是有意义的,并让它在所有其他web应用程序中传播。不。项目1中需要packagefoo/A
,项目2中需要packagefoo/B
。如果foo/A
取决于foo/C
版本1,那么foo/B
取决于foo/C
version 2然后一切都乱七八糟。我见过一些人的想法和你一样,每次这些人都以一个乱七八糟的设置结束,需要返回到一个项目一个vendor
文件夹原理。这是一个精心设计的机制。复制composer.json
并运行更新更容易每一个项目,并保持他们的独立性。在任何问题的情况下,你可以保持他们在不同的依赖关系。