zoukankan      html  css  js  c++  java
  • php加载配置文件类

    <?php
    //框架路径
    define('Spider_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR);
    
    //config地址
    define('CONFIG_PATH', Spider_PATH.'config'.DIRECTORY_SEPARATOR);
    //主机协议
    define('SITE_PROTOCOL', isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == '443' ? 'https://' : 'http://');
    //当前访问的主机名
    define('SITE_URL', (isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : ''));
    //来源
    define('HTTP_REFERER', isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '');
    
    //系统开始时间
    define('SYS_START_TIME', microtime());
    
    
    date_default_timezone_set('PRC');
    
    define('USERAGENT','htxs/1.1.9');
    
    
    error_reporting(E_ALL^E_NOTICE^E_WARNING);
    
    class SpiderBase{
        /**
         * 加载配置文件
         * @param string $file 配置文件
         * @param string $key  要获取的配置荐
         * @param string $default  默认配置。当获取配置项目失败时该值发生作用。
         * @param boolean $reload 强制重新加载。
         */
        public static function load_config($file, $key = '', $default = '', $reload = false) {
            static $configs = array();
            if (!$reload && isset($configs[$file])) {
                if (empty($key)) {
                    return $configs[$file];
                } elseif (isset($configs[$file][$key])) {
                    return $configs[$file][$key];
                } else {
                    return $default;
                }
            }
            $path = CONFIG_PATH.$file.'.php';
            if (file_exists($path)) {
                $configs[$file] = include $path;
            }
            if (empty($key)) {
                return $configs[$file];
            } elseif (isset($configs[$file][$key])) {
                return $configs[$file][$key];
            } else {
                return $default;
            }
        }
    }
    ?>
    
    //使用
    SpiderBase::load_config("config");
    
  • 相关阅读:
    LeetCode#13罗马数字转整数
    LeetCode#7整数反转
    LeetCode#1两数之和
    LeetCode#26删除排序数组中的重复项
    LeecCode#1550存在连续三个奇数的数组
    LeetCode#228汇总区间
    LeetCode#1476子矩形查询
    LeetCode#1535找出数组游戏的赢家
    LeetCode#867转置矩阵
    Vue源码——摸着石头过河
  • 原文地址:https://www.cnblogs.com/ljkltt/p/15722233.html
Copyright © 2011-2022 走看看