PHPCMS配置文件的读取

---------------------------------------------------------------------------------------------------

PHPCMS的入口文件index.php里的代码较少,主要做了三件事,如下:

//1.定义PHPCMS根目录(入口文件所在目录),PHPCMS_PATH全局可用
define(‘PHPCMS_PATH‘, dirname(__FILE__).DIRECTORY_SEPARATOR)

//2.引入框架入口文件(与入口文件同级的框架目录phpcms中的base.php)
include PHPCMS_PATH.‘/phpcms/base.php‘;

//3.调用框架入口文件中基类pc_base的静态方法create_app(),进行应用程序初始化
pc_base::create_app();

代码虽少,但是将 做了很多事的框架入口文件base.php加载进来后,等于直接就进入了PHPCMS的核心。

[email protected] 黑眼诗人 <www.chenwei.ws>---------------------------

简单说下base.php主要做的事:

1.定义一系列常量,如框架路径,缓存文件夹路径等,全局可用。

2.加载框架自带函数库,全局可用。

3.通过读取配置文件,将配置值定义为常量,全局可用。

4.自带PHPCMS基类(pc_base),定义了加载系统类,应用类,数据模型,系统函数库,应用函数库,插件类库,插件数据模型,配置文件等的方法。

define(‘CSS_PATH‘, pc_base::load_config(‘system‘, ‘css_path‘));

上面定义了CSS路径为常量,以便 前后台的全局使用,那它是如何加载配置文件的,如下方法:

    /**      * 加载配置文件      * @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])) { //# 如果重新加载 且 设置了$configs[$file](这里不执行)
            if (empty($key)) {
                return $configs[$file];       //# 如果配置键为空,返回整个配置数组(配置文件以一维数组形式返回,如:return array(‘a‘=>‘‘,‘b‘=>‘‘))
            } elseif (isset($configs[$file][$key])) {
                return $configs[$file][$key];    //# 如果设置了有配置键的值,返回
            } else {
                return $default;           //# 默认返回配置default
            }
        }    //-----------------------------------------

        $path = CACHE_PATH.‘configs‘.DIRECTORY_SEPARATOR.$file.‘.php‘;//# 系统配置文件路径,$path = PHPCMS_PATH.‘caches/configs/system.php‘;
        if (file_exists($path)) {
            $configs[$file] = include $path;    //# 如果system配置文件存在,引入
        }

        if (empty($key)) {               //# 根据$key取配置值,否则返回default值,同上虚线间代码
            return $configs[$file];
        } elseif (isset($configs[$file][$key])) {
            return $configs[$file][$key];
        } else {
            return $default;
        }
    }

所以在使用load_config()时,只需传入配置文件名 和 配置键,即可获取配置值; 一般获取配置项的原理类似。

PHPCMS配置文件的读取

时间: 2024-08-14 09:38:33

PHPCMS配置文件的读取的相关文章

Linux下程序启动之后的初始化---检查配置文件及读取日志配置项的值

概述 最近,我对本开发组的几位新员工所编写的程序进行了代码走查,发现他们的代码都有一个共同的问题:缺少必要的初始化.在本文中,我将详细介绍程序在启动时所必须要进行的初始化操作,并用实际的C代码予以说明. 对于一般的程序来说,在启动时所必须要进行的初始化操作有两个:检查配置文件及读取日志配置项.对于检查配置文件,主要检查配置文件是否是规定的文件类型(后缀是否正确)及是否存放在了规定的目录下(一般存放在当前用户的etc目录下):对于读取日志配置项,主要将写日志文件相关的参数(如日志级别.日志文件最大

配置文件的读取添加webconfig

webconfig.xml的配置文件内容挺丰富的,在这篇文章里笔者只对AppSettings这个节点进行配置文件读取和添加 public class ConfigurationRef { /// <summary> /// 根据键值获取配置文件 /// </summary> /// <param name="key">键值</param> /// <returns></returns> public static

jdbc基础 (二) 从配置文件中读取连接数据库

上一篇描述了对mysql数据库的简单操作,下面来看一下开发中应该如何灵活应用. 因为jdbc对数据库的驱动加载.连接获取.释放资源的代码都是相同的,为了提高代码的复用性,我们可以写一个工具类,将数据库驱动加载.获取连接.资源释放的代码封装起来.同时,为了提高工具类的灵活性,可以将数据库的驱动.url.用户名.密码等信息以键值对的形式存放在properties文件中,工具类初始化时从配置文件中读取所要连接数据库的信息.当需要更改连接的数据库时,只需要更改配置文件即可,而不必改写工具类的代码. 下面

Springboot 之 自定义配置文件及读取配置文件

本文章来自[知识林] 读取核心配置文件 核心配置文件是指在resources根目录下的application.properties或application.yml配置文件,读取这两个配置文件的方法有两种,都比较简单. 核心配置文件application.properties内容如下: server.port=9090 test.msg=Hello World Springboot! 使用@Value方式(常用): @RestController public class WebControlle

配置文件通过读取json方式读取

json文件 { "mysql":{ "hosts":"localhost", "user":"root", "password":"admin", "port":3306, "dbname":"jfg", "chart":"utf-8" }, "redis&

System.ConfigurationManager类用于对配置文件的读取

http://blog.csdn.net/ligenyingsr/article/details/54095986 System.ConfigurationManager类用于对配置文件的读取.其具有的成员如下: 一.AppSettings AppSetting是最简单的配置节,读写非常简单. 名称 说明 AppSettings 获取当前应用程序默认配置的 AppSettingsSection 数据 ConnectionStrings 获取当前应用程序默认配置的 ConnectionString

main的 启动和配置文件的读取

转载自:https://blog.csdn.net/weixin_40873368/article/details/78884690 (如侵权请留言,会删除) 1.建立简单的springboot项目 @SpringBootApplication public class Application { public static void main(String[] args) { //最简单直接的方式,调用SpringApplication类的静态方法run() SpringApplication

IT项目中使用 json格式数据 保存项目配置信息, 在配置文件再读取json文件的内容进行赋值

json格式小巧玲珑,适合做配置文件,特别是大型项目中, 可以将配置信息分类保存到不同的json文件中, 然后再在配置文件中读取配置文件的数据进行赋值, 这里以python为例进行说明: 假设在yourfile.json文件中保存了如下信息: { "user_message":{ "name":"lowman", "age":"14", }, "database":{ "USE

java spring 配置文件的读取

java读取本地配置文件主要分为两类,一类为class相关文件或子文件夹下,一类文件 为jar包外配置文件. class相关文件夹或子文件夹下读取配置文件可以使用Object.class.getResource或 Class.getClassLoader.getResourceAsStream(String path) . jar包外配置文件用System.getProperty("user.dir")来获得工作路径根据工作路径 的父路径向上级在像下级找就可以找到配置所在路径,然后在加