コード例 #1
0
ファイル: CustomGateway.php プロジェクト: gree/cascade
 /**
  *  コンストラクタ
  *
  *  @param  Cascade_Facade_Facade  セッション
  *  @param  string                   スキーマ名
  */
 public function __construct(Cascade_Facade_Facade $session, $schema_name)
 {
     parent::__construct($session);
     // 基本情報を内部変数に格納
     $this->schema_name = $schema_name;
     $this->delegate = new Cascade_Proxy_PassThroughGateway($session, $schema_name);
     list($this->namespace, $this->identifier) = Cascade_System_Schema::parseSchemaName($schema_name);
     // トリガーの設置
     $this->delegate->setBeforeTrigger($this, 'callSessionBefore');
     $this->delegate->setAfterTrigger($this, 'callSessionAfter');
 }
コード例 #2
0
ファイル: DataFormat.php プロジェクト: gree/cascade
 /**
  *  インスタンスを生成する
  *
  *  @param   string                 スキーマ名
  *  @return  Cascade_DB_DataFormat  インスタンス
  */
 public static function createInstance($schema_name)
 {
     // クラス名の取得
     $class_name = Cascade_System_Schema::getDataFormatClassName($schema_name);
     if (class_exists($class_name) === FALSE) {
         $ex_msg = 'Not found DataFormat {schema_name, class_name} %s %s';
         $ex_msg = sprintf($ex_msg, $schema_name, $class_name);
         throw new Cascade_Exception_Exception($ex_msg);
     }
     // インスタンス作成
     $instance = new $class_name();
     if ($instance instanceof Cascade_DB_DataFormat === FALSE) {
         $ex_msg = 'Invalid a Instance of DataFormat {class} %s';
         $ex_msg = sprintf($ex_msg, $class_name);
         throw new Cascade_Exception_Exception($ex_msg);
     }
     // 作成したインスタンスを返す
     return $instance;
 }
コード例 #3
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;
 }