Exemplo n.º 1
0
 /**
  *  システム設定情報を取得する
  *
  *  @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);
 }
Exemplo n.º 2
0
 /**
  *  ロガーを取得する
  *
  *  @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;
 }
Exemplo n.º 3
0
 /**
  *  ドライバーを取得する
  *
  *  データ・フォーマットの情報に該当するドライバーインスタンスを取得する。<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;
 }
Exemplo n.º 4
0
 /**
  *  コンストラクタ
  */
 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');
 }
Exemplo n.º 5
0
 /**
  *  ドライバを取得する
  *
  *  データ・フォーマットの情報に該当するドライバ・インスタンスを取得する。<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;
 }
Exemplo n.º 6
0
 /**
  *  ドライバーを取得する
  *
  *  データ・フォーマットの情報に該当するドライバーインスタンスを取得する。<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;
 }
Exemplo n.º 7
0
Arquivo: SQL.php Projeto: gree/cascade
 /**
  *  入力値の確認処理
  *
  *  @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;
 }
Exemplo n.º 8
0
 /**
  *  キャッシュ操作ドライバーを取得する
  *
  *  @return  Cascade_Driver_Driver  ドライバー
  */
 protected function getCacheDriver()
 {
     $args = array($namespace = '::' . $this->schema_name);
     return Cascade_Driver_Factory::getInstance(Cascade::DRIVER_APC, $args);
 }
Exemplo n.º 9
0
 /**
  *  スキーマ設定情報を取得する
  *
  *  @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;
 }