當前位置: 首頁>>代碼示例>>PHP>>正文


PHP AbstractPlatform::setEventManager方法代碼示例

本文整理匯總了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);
 }
開發者ID:pnaq57,項目名稱:zf2demo,代碼行數:25,代碼來源:AbstractPlatformTestCase.php

示例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();
 }
開發者ID:kalaspuffar,項目名稱:php-orm-benchmark,代碼行數:40,代碼來源:Connection.php

示例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);
 }
開發者ID:TheTypoMaster,項目名稱:SPHERE-Framework,代碼行數:23,代碼來源:Connection.php


注:本文中的Doctrine\DBAL\Platforms\AbstractPlatform::setEventManager方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。