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 function getConnection($event = HermitEvent::UNKNOWN) { return HermitDataSourceManager::get($this->context->getName(), $this->method->getName(), $event); }
protected function getDataSource($methodName, $type) { $target = $this->context->getName(); return HermitDataSourceManager::get($target, $methodName, $type); }