php - Override Composer autoloader -
background
i'm developing series of websites share common engine. similar stackexchange's network of websites. every webiste separate symfony2 installation on different git repository, dependency engine, placed on separate repository.
"requires": { ... "my-platform/core": "dev-master" }
i'm still in stage of development, i'd not have use composer update
everytime change in core repository. seems composer has right tool solve problem doesn't want work properly.
my directory structure:
workspace myplatformcore src myplatform core someclass.php composer.json mywebsiteaaa app src vendor web composer.json mywebsitebbb app src vendor web composer.json
autoload section composer.json
every mywebsitexxx
repository:
"autoload": { "psr-0": { "myplatform": "../myplatformcore/src" } },
problem
if run php composer.phar dumpautoload --optimize
mywebsitexxx
generates files of autoloader wrong paths. file vendor/composer/autoload_classmap.php
contains:
'myplatform\\core\\...' => $vendordir . '/myplatform/core/src/myplatform/core/...php',
while should contain:
'myplatform\\core\\...' => $vendordir . '/../myplatformcore/src/myplatform/core/...php',
p.s. workspace\myplatformcore
in fact symlink, should matter, isn't it?
composer not fit current phase of work.
having working psr-0 autoloader core classes make them available other code. adding autoloader composer autoloader should work, think better integrate core "code in progress" via symlink instead of composer-updating it.
the real benefit existing core codebase in several tagged versions, , multiple websites using defined versions differ each other. work on core if there features added or bugs fixed. daily work go of websites, might include updating websites core files when time so.
Comments
Post a Comment