Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace Symfony\Framework\DoctrineBundle;
- use Symfony\Foundation\Bundle\Bundle as BaseBundle;
- use Symfony\Components\DependencyInjection\ContainerInterface;
- use Symfony\Components\DependencyInjection\Loader\Loader;
- use Symfony\Components\DependencyInjection\Loader\XmlFileLoader;
- use Symfony\Framework\DoctrineBundle\DependencyInjection\DoctrineExtension;
- use Symfony\Components\Console\Application;
- /*
- * This file is part of the Symfony framework.
- *
- * (c) Fabien Potencier <fabien.potencier@symfony-project.com>
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
- /**
- * Bundle.
- *
- * @package Symfony
- * @subpackage Framework_DoctrineBundle
- * @author Fabien Potencier <fabien.potencier@symfony-project.com>
- * @author Jonathan H. Wage <jonwage@gmail.com>
- */
- class Bundle extends BaseBundle
- {
- public function buildContainer(ContainerInterface $container)
- {
- Loader::registerExtension(new DoctrineExtension($container->getParameter('kernel.bundle_dirs'), $container->getParameter('kernel.bundles')));
- $metadataDirs = array();
- $entityDirs = array();
- $bundleDirs = $container->getParameter('kernel.bundle_dirs');
- foreach ($container->getParameter('kernel.bundles') as $className)
- {
- $tmp = dirname(str_replace('\\', '/', $className));
- $namespace = str_replace('/', '\\', dirname($tmp));
- $class = basename($tmp);
- if (isset($bundleDirs[$namespace]))
- {
- if (is_dir($dir = $bundleDirs[$namespace].'/'.$class.'/Resources/config/doctrine/metadata'))
- {
- $metadataDirs[] = realpath($dir);
- }
- if (is_dir($dir = $bundleDirs[$namespace].'/'.$class.'/Entities'))
- {
- $entityDirs[] = realpath($dir);
- }
- }
- }
- $container->setParameter('doctrine.orm.metadata_driver.mapping_dirs', $metadataDirs);
- $container->setParameter('doctrine.orm.entity_dirs', $entityDirs);
- }
- public function registerCommands(Application $application)
- {
- $application->addCommands(array(
- // DBAL Commands
- new \Doctrine\DBAL\Tools\Console\Command\RunSqlCommand(),
- new \Doctrine\DBAL\Tools\Console\Command\ImportCommand(),
- // ORM Commands
- new \Doctrine\ORM\Tools\Console\Command\ClearCache\MetadataCommand(),
- new \Doctrine\ORM\Tools\Console\Command\ClearCache\ResultCommand(),
- new \Doctrine\ORM\Tools\Console\Command\ClearCache\QueryCommand(),
- new \Doctrine\ORM\Tools\Console\Command\SchemaTool\CreateCommand(),
- new \Doctrine\ORM\Tools\Console\Command\SchemaTool\UpdateCommand(),
- new \Doctrine\ORM\Tools\Console\Command\SchemaTool\DropCommand(),
- new \Doctrine\ORM\Tools\Console\Command\EnsureProductionSettingsCommand(),
- new \Doctrine\ORM\Tools\Console\Command\ConvertDoctrine1SchemaCommand(),
- new \Doctrine\ORM\Tools\Console\Command\GenerateRepositoriesCommand(),
- new \Doctrine\ORM\Tools\Console\Command\GenerateEntitiesCommand(),
- new \Doctrine\ORM\Tools\Console\Command\GenerateProxiesCommand(),
- new \Doctrine\ORM\Tools\Console\Command\ConvertMappingCommand(),
- new \Doctrine\ORM\Tools\Console\Command\RunDqlCommand()
- ));
- $em = $application->getKernel()->getContainer()->getDoctrine_Orm_DefaultEntityManagerService();
- $application->getHelperSet()->set(new \Doctrine\DBAL\Tools\Console\Helper\ConnectionHelper($em->getConnection()), 'db');
- $application->getHelperSet()->set(new \Doctrine\ORM\Tools\Console\Helper\EntityManagerHelper($em), 'em');
- }
- }
Add Comment
Please, Sign In to add comment