/** * システム設定情報を取得する * * @param string セクション * @param string|array (optional) 指定の値を取得する場合に指定する * @return array 設定情報値 */ public static function get($section, $var_name = NULL) { // 設定ファイルのPATHを構築 $file_path = CASCADE_CONFIG_DIR_PATH . Cascade::SEPARATOR_DIRECTORY . self::$file_name; // ドライバを取得する $args = array($file_path, self::$data_idx); $driver = Cascade_Driver_Factory::getInstance(Cascade::DRIVER_PHPARRAY, $args); // 値を取得する return $driver->get($section, $var_name); }
/** * ロガーを取得する * * @retrun Cascade_Driver_Log ロガー */ public static function get_logger() { static $instance = NULL; // ロガーを取得する if ($instance == NULL) { $file_name = sprintf('%s.dat', date('Ymd')); $config = Cascade_System_Config::get(self::$log_section, self::$log_config); $instance = Cascade_Driver_Factory::getInstance(Cascade::DRIVER_LOG_FILE, $args = array($file_name, $config, $config['level'])); } return $instance; }
/** * ドライバーを取得する * * データ・フォーマットの情報に該当するドライバーインスタンスを取得する。<br/> * * @return Cascade_DB_KVS_Driver DB操作ドライバー */ protected function getDriver() { $type = $this->getDataFormat()->getDriverType(); $args = array($this->getDataFormat()->getNamespace(), $this->getDataFormat()->getDSN($this->getCriteria()), $this->getDataFormat()->isCompressed()); $driver = Cascade_Driver_Factory::getInstance($type, $args); return $driver; }
/** * コンストラクタ */ public function __construct() { parent::__construct(); $driver = Cascade_Driver_Factory::getInstance(Cascade::DRIVER_INIFILE, CASCADE_SKEL_DIR_PATH . '/cascade-cmd.ini'); $this->config = $driver->get('add_data_format'); }
/** * ドライバを取得する * * データ・フォーマットの情報に該当するドライバ・インスタンスを取得する。<br/> * インスタンスを取得した時点でコネクションが確立される。 * * @return Cascade_DB_SQL_Driver DB操作ドライバ */ protected function getDriver() { // ドライバを取得する $type = $this->getDataFormat()->getDriverType(); $args = array($this->getDataFormat()->getActiveDSN($this->getCriteria())); $driver = Cascade_Driver_Factory::getInstance($type, $args); return $driver; }
/** * ドライバーを取得する * * データ・フォーマットの情報に該当するドライバーインスタンスを取得する。<br/> * インスタンスを取得した時点でコネクションが確立される。 * * @return Cascade_DB_Config_Driver DB操作ドライバー */ protected function getDriver() { $type = $this->getdataFormat()->getDriverType(); $args = array($this->getdataFormat()->getConfigFilePath()); $driver = Cascade_Driver_Factory::getInstance($type, $args); return $driver; }
/** * 入力値の確認処理 * * @param mixed 入力値 * @return boolean TRUE:入力値が想定値 */ protected function validate_table_name($value) { // 空白文字列は許可しない if (strlen($value) < 1) { return FALSE; } // ドライバー取得 $driver = NULL; set_error_handler(array($this, 'err_dsn_parse')); try { $driver = Cascade_Driver_Factory::getInstance(Cascade::DRIVER_MYSQLI, sprintf('gree://master/%s', $this->dsn_ident)); } catch (Exception $ex) { } restore_error_handler(); // テーブルの存在を確認する if ($driver !== NULL) { $query = sprintf("SHOW TABLE STATUS LIKE '%s'", $value); $driver->query($query); $status = $driver->fetch_all(); if (count($status) < 1) { // 処理を続けるか問い合わせる print sprintf('WARNING :: Table does not exist {table_name} %s', $value) . PHP_EOL . PHP_EOL; $line = $this->get_input_value($this->config['notice_02'], $l_message = NULL, $default = 'no'); return $line === 'yes' ? TRUE : FALSE; } $query = sprintf('SHOW FIELDS FROM %s', $value); $driver->query($query); $fields = $driver->fetch_all(); $this->table_status = array_shift($status); $this->table_fields = $fields; } return TRUE; }
/** * キャッシュ操作ドライバーを取得する * * @return Cascade_Driver_Driver ドライバー */ protected function getCacheDriver() { $args = array($namespace = '::' . $this->schema_name); return Cascade_Driver_Factory::getInstance(Cascade::DRIVER_APC, $args); }
/** * スキーマ設定情報を取得する * * @param string 名前空間 * @param string (optional) 指定の値を取得する場合に指定する * @return array スキーマ設定情報値 */ protected static function getSchemaData($namespace, $ident = NULL) { // 設定ファイルのPATHを構築 $file_path = CASCADE_CONFIG_DIR_PATH . Cascade::SEPARATOR_DIRECTORY . self::$file_name; // 設定情報を取得するためのドライバ取得 $args = array($file_path, self::$data_idx); $driver = Cascade_Driver_Factory::getInstance(Cascade::DRIVER_PHPARRAY, $args); // 設定値を取得する $data = $driver->get($namespace); if (0 < strlen($ident)) { foreach (explode(Cascade::SEPARATOR_VAR_NAME_NEST, $ident) as $idx) { if (isset($data[$idx]) === FALSE) { return NULL; } $data = $data[$idx]; } } // 結果値を返す return $data; }