コード例 #1
0
 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);
 }
コード例 #2
0
 protected function getConnection($event = HermitEvent::UNKNOWN)
 {
     return HermitDataSourceManager::get($this->context->getName(), $this->method->getName(), $event);
 }
コード例 #3
0
 protected function getDataSource($methodName, $type)
 {
     $target = $this->context->getName();
     return HermitDataSourceManager::get($target, $methodName, $type);
 }