背景
我正在开发一系列共享一个通用引擎的网站。与 StackExchange 的网站网络非常相似。每个网站都是在不同 Git 存储库上的单独 Symfony2 安装,依赖于引擎,该引擎也放置在单独的存储库中。
"requires": {
...
"my-platform/core": "dev-master"
}
我仍处于开发的早期阶段,所以我不想composer update
每次更改核心存储库中的内容时都必须使用。Composer 似乎有一个合适的工具来解决这个问题,但它不想正常工作。
我的目录结构:
Workspace
MyPlatformCore
src
MyPlatform
Core
SomeClass.php
composer.json
MyWebsiteAAA
app
src
vendor
web
composer.json
MyWebsiteBBB
app
src
vendor
web
composer.json
composer.json
从每个存储库中自动加载部分MyWebsiteXXX
:
"autoload": {
"psr-0": {
"MyPlatform": "../MyPlatformCore/src"
}
},
问题
如果我php composer.phar dumpautoload --optimize
从MyWebsiteXXX
它运行会生成路径错误的自动加载器文件。文件vendor/composer/autoload_classmap.php
包含:
'MyPlatform\\Core\\...' => $vendorDir . '/myplatform/core/src/MyPlatform/Core/...php',
虽然它应该包含:
'MyPlatform\\Core\\...' => $vendorDir . '/../MyPlatformCore/src/MyPlatform/Core/...php',
PSWorkspace\MyPlatformCore
实际上是一个符号链接,但它应该很重要,不是吗?