我想为Symfony开发一个公共的第三方捆绑包。为了在开发过程中测试这个包,我需要一个功能性的Symfony安装。因此,我需要在Symfony测试应用程序中模拟我的包的Composer安装。
问题是,实现这一目标的最佳方式是什么?如果composer能让我们定义一个本地存储库,而不需要在包端提交,那么每次你想测试bundle时,都要在Symfony应用端做composer update
,那就太好了。我在这里解释的解决方案在这里解释:http://tech.vg.no/2014/11/25/using-local-packages-as-composer-dependencies/
这是我目前找到的最好的解决方案,我没有看到很多关于这方面的文献。所以这是对"Symfony第三方捆绑包开发者"的呼吁:在开发过程中,你如何开发和测试你的捆绑包?
为了澄清我对app/autolload .php的评论,Symfony 2给了你一个小钩子来允许自定义自动加载过程:
// app/autoload.php
$loader = require __DIR__.'/../vendor/autoload.php';
$loader->add('Cerad', __DIR__ . '/../../cerad2/src');
AnnotationRegistry::registerLoader(array($loader, 'loadClass'));
return $loader;
因此,在上面的情况下,将使用位于文件系统其他位置的cerad2库。
这是否比简单地调整测试应用的编写器文件更好?可能不会,尽管它确实会派上用场。使用最适合您的方法。