/** * コンストラクタ * * @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'); }
/** * アクセサを取得する * * @param string 識別子 * @return Cascade_Proxy_DBGateway ゲートウェイ */ public static function getAccessor($schema_name) { return Cascade_Proxy_Gateway::getInstance($schema_name); }
/** * アクセス不可関数を呼び出したときに呼ばれる * * コンストラクタで渡された委譲対象のインスタンスが持つ関数に * 処理を委譲する目的で実装している。 * * @param string 呼び出し関数名 * @param string 関数に渡される引数を配列に格納した値 * @return mixed 実行結果 */ public function __call($method, $args) { $args = array_merge(array($this->schema_name), $args); return parent::__call($method, $args); }