當前位置: 首頁>>代碼示例>>PHP>>正文


PHP config::get_logic方法代碼示例

本文整理匯總了PHP中config::get_logic方法的典型用法代碼示例。如果您正苦於以下問題:PHP config::get_logic方法的具體用法?PHP config::get_logic怎麽用?PHP config::get_logic使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在config的用法示例。


在下文中一共展示了config::get_logic方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: get_slave_redis

 public static function get_slave_redis($source_name)
 {
     if (!isset(self::$redis_nodes['slave'][$source_name])) {
         $dsns = config::get_logic('redis.' . $source_name . '.slaves', []);
         if ($dsns === []) {
             $dsns = array(config::get_logic('redis.' . $source_name . '.master'));
         }
         $all_attempts_failed = true;
         foreach ($dsns as $dsn) {
             $url_parts = parse_url($dsn);
             extract($url_parts, EXTR_SKIP);
             $redis_node = new redis_slave_node();
             if ($redis_node->connect($host, $port, 2)) {
                 self::$redis_nodes['slave'][$source_name] = $redis_node;
                 $all_attempts_failed = false;
                 break;
             } else {
                 logger::log_error("cannot connect to dsn: '{$dsn}', maybe failed?");
             }
         }
         if ($all_attempts_failed) {
             throw new server_except("cannot connect to all dsns of redis source: {$source_name}");
         }
     }
     return self::$redis_nodes['slave'][$source_name];
 }
開發者ID:xpd1437,項目名稱:swap,代碼行數:26,代碼來源:redis.php

示例2: get_cache

 public static function get_cache($cache_name)
 {
     static $caches = [];
     if (!array_key_exists($cache_name, $caches)) {
         $dsns = config::get_logic('cache.' . $cache_name);
         list($cache_type, ) = explode('://', current($dsns), 2);
         $cache_class = __NAMESPACE__ . '\\' . $cache_type . '_cache';
         $cache = new $cache_class($dsns);
         $caches[$cache_name] = $cache;
     }
     return $caches[$cache_name];
 }
開發者ID:xpd1437,項目名稱:swap,代碼行數:12,代碼來源:cache.php

示例3: get_mover

 public static function get_mover($target_name)
 {
     static $movers = [];
     if (!isset($movers[$target_name])) {
         $dsn = config::get_logic('mover.' . $target_name);
         list($mover_type, ) = explode('://', $dsn, 2);
         $mover_class = __NAMESPACE__ . '\\' . $mover_type . '_mover';
         if (!class_exists($mover_class, true)) {
             throw new developer_error("mover: '{$mover_class}' does not exist");
         }
         $mover = new $mover_class($dsn);
         $movers[$target_name] = $mover;
     }
     return $movers[$target_name];
 }
開發者ID:xpd1437,項目名稱:swap,代碼行數:15,代碼來源:mover.php

示例4: get_source_name_from_table_name

 protected static function get_source_name_from_table_name($table_name)
 {
     $source_name = config::get_logic('rdb.tables.' . $table_name, null);
     if ($source_name === null) {
         $source_name = config::get_logic('rdb.tables.*');
     }
     return $source_name;
 }
開發者ID:xpd1437,項目名稱:swap,代碼行數:8,代碼來源:rdb.php


注:本文中的config::get_logic方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。