本文整理汇总了PHP中Doctrine\DBAL\Platforms\AbstractPlatform::setEventManager方法的典型用法代码示例。如果您正苦于以下问题:PHP AbstractPlatform::setEventManager方法的具体用法?PHP AbstractPlatform::setEventManager怎么用?PHP AbstractPlatform::setEventManager使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Doctrine\DBAL\Platforms\AbstractPlatform
的用法示例。
在下文中一共展示了AbstractPlatform::setEventManager方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testGetAlterTableSqlDispatchEvent
public function testGetAlterTableSqlDispatchEvent()
{
$events = array('onSchemaAlterTable', 'onSchemaAlterTableAddColumn', 'onSchemaAlterTableRemoveColumn', 'onSchemaAlterTableChangeColumn', 'onSchemaAlterTableRenameColumn');
$listenerMock = $this->getMock('GetAlterTableSqlDispatchEvenListener', $events);
$listenerMock->expects($this->once())->method('onSchemaAlterTable');
$listenerMock->expects($this->once())->method('onSchemaAlterTableAddColumn');
$listenerMock->expects($this->once())->method('onSchemaAlterTableRemoveColumn');
$listenerMock->expects($this->once())->method('onSchemaAlterTableChangeColumn');
$listenerMock->expects($this->once())->method('onSchemaAlterTableRenameColumn');
$eventManager = new EventManager();
$events = array(Events::onSchemaAlterTable, Events::onSchemaAlterTableAddColumn, Events::onSchemaAlterTableRemoveColumn, Events::onSchemaAlterTableChangeColumn, Events::onSchemaAlterTableRenameColumn);
$eventManager->addEventListener($events, $listenerMock);
$this->_platform->setEventManager($eventManager);
$table = new Table('mytable');
$table->addColumn('removed', 'integer');
$table->addColumn('changed', 'integer');
$table->addColumn('renamed', 'integer');
$tableDiff = new TableDiff('mytable');
$tableDiff->fromTable = $table;
$tableDiff->addedColumns['added'] = new \Doctrine\DBAL\Schema\Column('added', \Doctrine\DBAL\Types\Type::getType('integer'), array());
$tableDiff->removedColumns['removed'] = new \Doctrine\DBAL\Schema\Column('removed', \Doctrine\DBAL\Types\Type::getType('integer'), array());
$tableDiff->changedColumns['changed'] = new \Doctrine\DBAL\Schema\ColumnDiff('changed', new \Doctrine\DBAL\Schema\Column('changed2', \Doctrine\DBAL\Types\Type::getType('string'), array()), array());
$tableDiff->renamedColumns['renamed'] = new \Doctrine\DBAL\Schema\Column('renamed2', \Doctrine\DBAL\Types\Type::getType('integer'), array());
$this->_platform->getAlterTableSQL($tableDiff);
}
示例2: __construct
/**
* Initializes a new instance of the Connection class.
*
* @param array $params The connection parameters.
* @param \Doctrine\DBAL\Driver $driver The driver to use.
* @param \Doctrine\DBAL\Configuration|null $config The configuration, optional.
* @param \Doctrine\Common\EventManager|null $eventManager The event manager, optional.
*
* @throws \Doctrine\DBAL\DBALException
*/
public function __construct(array $params, Driver $driver, Configuration $config = null, EventManager $eventManager = null)
{
$this->_driver = $driver;
$this->_params = $params;
if (isset($params['pdo'])) {
$this->_conn = $params['pdo'];
$this->_isConnected = true;
}
// Create default config and event manager if none given
if (!$config) {
$config = new Configuration();
}
if (!$eventManager) {
$eventManager = new EventManager();
}
$this->_config = $config;
$this->_eventManager = $eventManager;
$this->_expr = new Query\Expression\ExpressionBuilder($this);
if (!isset($params['platform'])) {
$this->_platform = $driver->getDatabasePlatform();
} else {
if ($params['platform'] instanceof Platforms\AbstractPlatform) {
$this->_platform = $params['platform'];
} else {
throw DBALException::invalidPlatformSpecified();
}
}
$this->_platform->setEventManager($eventManager);
$this->_transactionIsolationLevel = $this->_platform->getDefaultTransactionIsolationLevel();
}
示例3: detectDatabasePlatform
/**
* Detects and sets the database platform.
*
* Evaluates custom platform class and version in order to set the correct platform.
*
* @throws DBALException if an invalid platform was specified for this connection.
*/
private function detectDatabasePlatform()
{
if (!isset($this->_params['platform'])) {
$version = $this->getDatabasePlatformVersion();
if (null !== $version) {
$this->platform = $this->_driver->createDatabasePlatformForVersion($version);
} else {
$this->platform = $this->_driver->getDatabasePlatform();
}
} elseif ($this->_params['platform'] instanceof Platforms\AbstractPlatform) {
$this->platform = $this->_params['platform'];
} else {
throw DBALException::invalidPlatformSpecified();
}
$this->platform->setEventManager($this->_eventManager);
}