本文整理汇总了PHP中Doctrine\ORM\Tools\Console\ConsoleRunner类的典型用法代码示例。如果您正苦于以下问题:PHP ConsoleRunner类的具体用法?PHP ConsoleRunner怎么用?PHP ConsoleRunner使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了ConsoleRunner类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: register
/**
* {@inheritdoc}
*/
public function register(Container $c)
{
$c['migrations.apps'] = function ($c) {
$apps = new Container();
foreach ($c['migrations.options'] as $key => $options) {
$apps[$key] = function () use($c, $key, $options) {
$db = $c['dbs'][$key];
return $c['migrations.create_app']($c['migrations.create_helpers']($db), $c['migrations.create_commands']($db, $options));
};
}
return $apps;
};
$c['migrations.create_app'] = $c->protect(function ($helpers, $commands) {
return ConsoleRunner::createApplication($helpers, $commands);
});
$c['migrations.create_helpers'] = $c->protect(function ($db) {
return new HelperSet(['db' => new ConnectionHelper($db), 'dialog' => new QuestionHelper()]);
});
$c['migrations.create_commands'] = $c->protect(function ($db, $options) {
$config = new Configuration($db);
if (isset($options['namespace'])) {
$config->setMigrationsNamespace($options['namespace']);
}
$config->setMigrationsDirectory($options['path']);
$config->registerMigrationsFromDirectory($options['path']);
if (isset($options['table'])) {
$config->setMigrationsTableName($options['table']);
}
$commands = [new DiffCommand(), new ExecuteCommand(), new GenerateCommand(), new MigrateCommand(), new StatusCommand(), new VersionCommand()];
foreach ($commands as $command) {
$command->setMigrationConfiguration($config);
}
return $commands;
});
}
示例2: run
public function run()
{
$entityManager = null;
if (is_array($_SERVER['argv'])) {
foreach ($_SERVER['argv'] as $key => $value) {
if (substr($value, 0, 5) === '--em=') {
$entityManager = substr($value, 5);
unset($_SERVER['argv'][$key]);
if (is_int($_SERVER['argc'])) {
$_SERVER['argc']--;
}
break;
}
}
}
$commands = $this->container->getDoctrine()->getCommands();
$helperSet = $this->container->getDoctrine()->getHelperSet($entityManager);
if (!$helperSet instanceof HelperSet) {
foreach ($GLOBALS as $helperSetCandidate) {
if ($helperSetCandidate instanceof HelperSet) {
$helperSet = $helperSetCandidate;
break;
}
}
}
ConsoleRunner::run($helperSet, $commands);
}
示例3: onBootstrap
/**
* {@inheritDoc}
*/
public function onBootstrap(EventInterface $e)
{
/* @var $app \Zend\Mvc\ApplicationInterface */
$app = $e->getTarget();
$events = $app->getEventManager()->getSharedManager();
// Attach to helper set event and load the entity manager helper.
$events->attach('doctrine', 'loadCli.post', function (EventInterface $e) {
/* @var $cli \Symfony\Component\Console\Application */
$cli = $e->getTarget();
ConsoleRunner::addCommands($cli);
$cli->addCommands(array(new DiffCommand(), new ExecuteCommand(), new GenerateCommand(), new MigrateCommand(), new StatusCommand(), new VersionCommand()));
/* @var $sm ServiceLocatorInterface */
$sm = $e->getParam('ServiceManager');
/* @var $em \Doctrine\ORM\EntityManager */
$em = $sm->get('doctrine.entitymanager.orm_default');
$helperSet = $cli->getHelperSet();
$helperSet->set(new DialogHelper(), 'dialog');
$helperSet->set(new ConnectionHelper($em->getConnection()), 'db');
$helperSet->set(new EntityManagerHelper($em), 'em');
});
$config = $app->getServiceManager()->get('Config');
$app->getServiceManager()->get('doctrine.entity_resolver.orm_default');
if (isset($config['zenddevelopertools']['profiler']['enabled']) && $config['zenddevelopertools']['profiler']['enabled']) {
$app->getServiceManager()->get('doctrine.sql_logger_collector.orm_default');
}
}
示例4: __construct
/**
* Constructor
*
* @param Application $console Console
* @param ContainerInterface $container Container DI
*/
public function __construct(Application $console, ContainerInterface $container)
{
$entityManager = $container->get('EntityManager');
$helperSet = ConsoleRunner::createHelperSet($entityManager);
$helperSet->set(new QuestionHelper(), 'dialog');
$console->setHelperSet($helperSet);
ConsoleRunner::addCommands($console);
}
示例5: registerCommands
public function registerCommands(Application $application)
{
parent::registerCommands($application);
//include Doctrine ORM commands if exist
if (class_exists('Doctrine\\ORM\\Version')) {
ConsoleRunner::addCommands($application);
}
}
示例6: testCreateApplication
public function testCreateApplication()
{
$helperSet = new HelperSet();
$app = ConsoleRunner::createApplication($helperSet);
$this->assertInstanceOf('Symfony\\Component\\Console\\Application', $app);
$this->assertSame($helperSet, $app->getHelperSet());
$this->assertEquals(Version::VERSION, $app->getVersion());
}
示例7: doRun
/**
* {@inheritDoc}
*/
public function doRun(InputInterface $input, OutputInterface $output)
{
$this->setHelperSet(ConsoleRunner::createHelperSet($this->app->get('doctrine.orm.entity_manager')));
$this->getHelperSet()->set(new QuestionHelper());
$this->getHelperSet()->set(new DialogHelper());
$this->registerCommands();
$this->io = new ConsoleIO($input, $output, $this->getHelperSet());
return parent::doRun($input, $output);
}
示例8: route_model
public function route_model()
{
// GET ENTITY MANAGER
$em = $this->doctrine->getEntityManager();
// CALL CONSOLE RUNNER
$helperSet = new \Symfony\Component\Console\Helper\HelperSet(array('db' => new \Doctrine\DBAL\Tools\Console\Helper\ConnectionHelper($em->getConnection()), 'em' => new \Doctrine\ORM\Tools\Console\Helper\EntityManagerHelper($em)));
// GET CONSOLE RUNNER
return \Doctrine\ORM\Tools\Console\ConsoleRunner::run($helperSet);
}
示例9: __construct
public function __construct()
{
parent::__construct(static::NAME, static::VERSION);
//Add Doctrine support to console
$em = Configuration::getEntityManager();
$doctrineHelperSet = new HelperSet(['db' => new ConnectionHelper($em->getConnection()), 'em' => new EntityManagerHelper($em)]);
$this->setHelperSet($doctrineHelperSet);
ConsoleRunner::addCommands($this);
$this->addCommands([new Command\ModuleUpdateCommand()]);
}
示例10: registerEntityManager
private function registerEntityManager(Application $app, $serviceName, Connection $connection, Configuration $metadataConfig)
{
$app[$serviceName] = $app->share(function () use($app, $connection, $metadataConfig) {
return EntityManager::create($connection, $metadataConfig);
});
// create a console for every manager
$consoleServiceName = sprintf('%s.console', $serviceName);
$app[$consoleServiceName] = $app->share(function () use($app, $serviceName) {
return ConsoleRunner::createApplication(ConsoleRunner::createHelperSet($app[$serviceName]));
});
}
示例11: ormCommands
/**
* @param $orm
*/
public function ormCommands($orm)
{
if (is_array($orm) && in_array('doctrine', $orm)) {
/** @var EntityManager $em */
$em = Model::orm('doctrine')->getOrm();
$helperSet = ConsoleRunner::createHelperSet($em);
$this->cli->setCatchExceptions(true);
$this->cli->setHelperSet($helperSet);
ConsoleRunner::addCommands($this->cli);
}
}
示例12: actionIndex
public function actionIndex()
{
/**
* @var $em \Doctrine\ORM\EntityManager
*/
$em = ApplicationConsole::app()->db->doctrine;
$helperSet = new HelperSet(['db' => new ConnectionHelper($em->getConnection()), 'em' => new EntityManagerHelper($em)]);
//unset($_SERVER['argv'][0]);
unset($_SERVER['argv'][1]);
$_SERVER['argv'] = array_values($_SERVER['argv']);
\Doctrine\ORM\Tools\Console\ConsoleRunner::run($helperSet);
}
示例13: _before
protected function _before()
{
$credentials = new DbCredentials();
$container = ContainerService::getInstance()->setDbCredentials($credentials)->addEntityPath('src/Entity')->getContainer();
$em = $container['doctrine.entity_manager'];
$helperSet = ConsoleRunner::createHelperSet($em);
$helperSet->set(new DialogHelper(), 'dialog');
$this->app = new Application();
$gen = new GenerateProxy();
$gen->setHelperSet($helperSet);
$this->app->add($gen);
$this->app->add(new VersionCommand());
}
示例14: _before
protected function _before()
{
$credentials = new DbCredentials();
$container = ContainerService::getInstance()->setDbCredentials($credentials)->addEntityPath('src/Entity')->getContainer();
$em = $container['doctrine.entity_manager'];
$helperSet = ConsoleRunner::createHelperSet($em);
$helperSet->set(new DialogHelper(), 'dialog');
$configuration = new Configuration($em->getConnection());
$configuration->setMigrationsNamespace('Migrations');
$configuration->setMigrationsTableName('Migration');
$this->app = new Application();
$mig = new Migration();
$mig->setMigrationConfiguration($configuration);
$this->app->add($mig);
$this->app->add(new VersionCommand());
}
示例15: setupDoctrineCommands
public function setupDoctrineCommands()
{
if (!Core::make('app')->isInstalled()) {
return;
}
$helperSet = ConsoleRunner::createHelperSet(\ORM::entityManager('core'));
$this->setHelperSet($helperSet);
$migrationsConfiguration = new MigrationsConfiguration();
/** @var \Doctrine\DBAL\Migrations\Tools\Console\Command\AbstractCommand[] $commands */
$commands = array(new \Doctrine\DBAL\Migrations\Tools\Console\Command\DiffCommand(), new \Doctrine\DBAL\Migrations\Tools\Console\Command\ExecuteCommand(), new \Doctrine\DBAL\Migrations\Tools\Console\Command\GenerateCommand(), new \Doctrine\DBAL\Migrations\Tools\Console\Command\MigrateCommand(), new \Doctrine\DBAL\Migrations\Tools\Console\Command\StatusCommand(), new \Doctrine\DBAL\Migrations\Tools\Console\Command\VersionCommand());
foreach ($commands as $migrationsCommand) {
$migrationsCommand->setMigrationConfiguration($migrationsConfiguration);
$this->add($migrationsCommand);
}
ConsoleRunner::addCommands($this);
}