コード例 #1
0
ファイル: Gateway.php プロジェクト: gree/cascade
 /**
  *  インスタンスを生成する
  *
  *  @param   string                 スキーマ名
  *  @return  Cascade_DB_Gateway  インスタンス
  */
 public static function createInstance($schema_name)
 {
     // 基本情報の取得
     $data_format = Cascade::getDataFormat($schema_name);
     $facade = Cascade_Facade_Facade::getInstance($data_format);
     $class_name = Cascade_System_Schema::getGatewayClassName($schema_name);
     // インスタンス作成
     $instance = class_exists($class_name) ? new $class_name($facade, $schema_name) : new Cascade_Proxy_PassThroughGateway($facade, $schema_name);
     if ($instance instanceof Cascade_Proxy_Gateway === FALSE) {
         $ex_msg = 'Invalid a Instance of Gateway {class} %s';
         $ex_msg = sprintf($ex_msg, $class_name);
         throw new Cascade_Exception_Exception($ex_msg);
     }
     // 作成したインスタンスを返す
     return $instance;
 }