protected function createCommand(ReflectionMethod $method) { $methodName = $method->getName(); $pdo = HermitDataSourceManager::get($this->context->getName(), $methodName, HermitEvent::EVT_SETUP); if (null === $pdo) { throw new RuntimeException('setup connection fail. pdo: ' . $pdo); } if (HermitNamingUtils::isProcedure($methodName)) { $factory = new HermitProcedureSqlCommandFactory(); } else { if (HermitNamingUtils::isInsert($methodName)) { $factory = new HermitInsertSqlCommandFactory(); } else { if (HermitNamingUtils::isUpdate($methodName)) { $factory = new HermitUpdateSqlCommandFactory(); } else { if (HermitNamingUtils::isDelete($methodName)) { $factory = new HermitDeleteSqlCommandFactory(); } else { $factory = new HermitSelectSqlCommandFactory(); } } } } $factory->setAnnote($this->annote); $factory->setMethod($method); return $factory->create($pdo, $this->context); }
protected static function getEventType($methodName) { if (HermitNamingUtils::isProcedure($methodName)) { return HermitEvent::EVT_PROCEDURE; } if (HermitNamingUtils::isInsert($methodName)) { return HermitEvent::EVT_INSERT; } if (HermitNamingUtils::isUpdate($methodName)) { return HermitEvent::EVT_UPDATE; } if (HermitNamingUtils::isDelete($methodName)) { return HermitEvent::EVT_DELETE; } return HermitEvent::EVT_SELECT; }