How do I get a list of bundles in symfony2/symfony3?
The easiest way to do it in console and that outputs bundle names correctly is:
Symfony 2
php app/console config:dump-reference
Symfony 3
php bin/console config:dump-reference
The key here is not to provide any options or arguments. In this case, the command simply outputs all available bundles:
Available registered bundles with their extension alias if available:+------------------------------------+-----------------------------------+| Bundle name | Extension alias |+------------------------------------+-----------------------------------+| FrameworkBundle | framework || SecurityBundle | security || TwigBundle | twig || MonologBundle | monolog || SwiftmailerBundle | swiftmailer || DoctrineBundle | doctrine || AsseticBundle | assetic || GearmanBundle | gearman || SMMemcacheBundle | sm_memcache || PrestaSitemapBundle | presta_sitemap || DoctrineCacheBundle | doctrine_cache || CybernoxAmazonWebServicesBundle | cybernox_amazon_web_services || FOSFacebookBundle | fos_facebook || HWIOAuthBundle | hwi_oauth || FkrSimplePieBundle | fkr_simple_pie || RMSPushNotificationsBundle | rms_push_notifications || RobertoTruToInlineStyleEmailBundle | roberto_tru_to_inline_style_email || InsomniaMaxMindGeoIpBundle | insomnia_max_mind_geo_ip || EWZRecaptchaBundle | ewz_recaptcha || MopaBootstrapBundle | mopa_bootstrap || JanThomas89MailSafeBundle | jan_thomas89_mail_safe || WebProfilerBundle | web_profiler || SensioDistributionBundle | sensio_distribution || SensioGeneratorBundle | |+------------------------------------+-----------------------------------+
- You can define a static function in each bundle. Ex:
YourBundle::yourStaticFunction();
- Use
$this->container->getParameter('kernel.bundles')
to get the list of bundles. This only returns the bundle class names instead of the Bundle object. Go through each bundle, check if the bundle has the functionyourStaticFunction()
, Hint: Usemethod_exists()
. If the method exists, then call::yourStaticFunction();