carlosv2 / allegro
Symfony扩展自动加载器
1.0.0
2016-11-27 20:47 UTC
Requires
- php: >=5.5
- composer/composer: ^1.2
Requires (Dev)
- phpunit/phpunit: 4.8
This package is not auto-updated.
Last update: 2024-09-15 01:20:03 UTC
README
Symfony扩展自动加载器。
为什么
你为你的Symfony项目需要了多少次Composer包,然后你还需要将它添加到AppKernel中?
对于某些项目,没有直接的关联,但对于大多数项目来说,需要它们的原因只是为了将扩展添加到Symfony项目中。
对于这些情况,本项目试图通过允许自动加载来最小化添加第三方扩展所需的工作。
使用方法
使用Allegro就像将它注入到你的项目的AppKernel文件中一样简单。例如
use carlosV2\Allegro\Allegro; use Symfony\Component\HttpKernel\Kernel; class AppKernel extends Kernel { public function registerBundles() { $bundles = [ // Any bundle that you want to have manually added ]; Allegro::appendTo($bundles); if (in_array($this->getEnvironment(), ['dev', 'test'], true)) { // Any bundle that you want to have manually added for tests Allegro::appendDevsTo($bundles); } return $bundles; } ... }
就这样。下次读取AppKernel时,Allegro将自动附加任何额外的扩展。
工作原理
Allegro通过检查特定配置的Composer包来工作。如果找到,它将读取并处理它,使得使扩展与Allegro兼容就像在其composer文件中提供正确的配置一样简单。
这是Allegro在所需包的每个composer.json
文件中寻找的配置
{ "extra": { "symfony": { "bundles": ["Namespace\\BundleClass"] } } }
当然,你可以在数组中设置所需的所有扩展类。此外,根包(这意味着使用Allegro的Symfony项目的composer.json
文件)也可以有这个配置以自动加载扩展。
Allegro假设require
键内的包用于生产,而require-dev
键内的包仅用于开发。
安装
为了使用Allegro,你首先需要通过composer安装它
$ composer require carlosv2/allegro