本文整理汇总了PHP中Doctrine\DBAL\Platforms\AbstractPlatform::getEventManager方法的典型用法代码示例。如果您正苦于以下问题:PHP AbstractPlatform::getEventManager方法的具体用法?PHP AbstractPlatform::getEventManager怎么用?PHP AbstractPlatform::getEventManager使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Doctrine\DBAL\Platforms\AbstractPlatform
的用法示例。
在下文中一共展示了AbstractPlatform::getEventManager方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _getPortableTableIndexesList
/**
* Aggregates and groups the index results according to the required data result.
*
* @param array $tableIndexRows
* @param string|null $tableName
*
* @return array
*/
protected function _getPortableTableIndexesList($tableIndexRows, $tableName = null)
{
$result = array();
foreach ($tableIndexRows as $tableIndex) {
$indexName = $keyName = $tableIndex['key_name'];
if ($tableIndex['primary']) {
$keyName = 'primary';
}
$keyName = strtolower($keyName);
if (!isset($result[$keyName])) {
$result[$keyName] = array('name' => $indexName, 'columns' => array($tableIndex['column_name']), 'unique' => $tableIndex['non_unique'] ? false : true, 'primary' => $tableIndex['primary'], 'flags' => isset($tableIndex['flags']) ? $tableIndex['flags'] : array());
} else {
$result[$keyName]['columns'][] = $tableIndex['column_name'];
}
}
$eventManager = $this->_platform->getEventManager();
$indexes = array();
foreach ($result as $indexKey => $data) {
$index = null;
$defaultPrevented = false;
if (null !== $eventManager && $eventManager->hasListeners(Events::onSchemaIndexDefinition)) {
$eventArgs = new SchemaIndexDefinitionEventArgs($data, $tableName, $this->_conn);
$eventManager->dispatchEvent(Events::onSchemaIndexDefinition, $eventArgs);
$defaultPrevented = $eventArgs->isDefaultPrevented();
$index = $eventArgs->getIndex();
}
if (!$defaultPrevented) {
$index = new Index($data['name'], $data['columns'], $data['unique'], $data['primary'], $data['flags']);
}
if ($index) {
$indexes[$indexKey] = $index;
}
}
return $indexes;
}
示例2: convertToPHPValue
/**
* @param mixed $value
* @param AbstractPlatform $platform
*
* @return null|FamilyInterface
* @throws MissingFamilyException
*/
public function convertToPHPValue($value, AbstractPlatform $platform)
{
if (null === $value) {
return null;
}
$listeners = $platform->getEventManager()->getListeners('sidus_family_configuration');
/** @var FamilyConfigurationHandler $familyConfigurationHandler */
$familyConfigurationHandler = array_shift($listeners);
return $familyConfigurationHandler->getFamily($value);
}