`

php获取配置文件项的类

 
阅读更多

配置文件形式(/app/config/env.php)

return array(

    "default" => array(

                    'host'=>'localhost',

                    'email'=>'wsluozefeng@163.com'),

    "new"=>array('host'=>123, 'email'=>8888)

);

 

==========================================================

 

namespace lib;

 

class config implements \ArrayAccess {

 

    static private $config;

    static private $_configPath;

    private $configarray;

 

    private function __construct() {

        $defaultDir = dirname($_SERVER['SCRIPT_FILENAME'])."/app/config/";  //该默认路径应该通过配置常量定义来获取的

        self::$_configPath = !empty( $configPath ) && is_dir( $configPath ) ? $configPath : $defaultDir;

 

        $dir     = new \RecursiveDirectoryIterator(self::$_configPath);  //获取路径下的所有文件和目录,不会递归输出

        $objects = new \RecursiveIteratorIterator($dir, \RecursiveIteratorIterator::SELF_FIRST);

        foreach( $objects as $fileName => $object ){

            $pathInfo = pathinfo($fileName);

            $this->configarray[$pathInfo['filename']] = require( $fileName );

        }

    }

 

    public static function instance() {

        if (self::$config == null){

            self::$config = new self;

        }

        return self::$config;

    }

 

    //检查一个偏移位置是否存在

    function offsetExists($index) {

        return isset($this->configarray[$index]);

    }

    //获取一个偏移位置的值

    function offsetGet($index) {

        return $this->configarray[$index];

    }

    //设置一个偏移位置的值

    function offsetSet($index, $newvalue) {

        $this->configarray[$index] = $newvalue;

    }

    //复位一个偏移位置的值

    function offsetUnset($index) {

        unset($this->configarray[$index]);

    }

 

 

==========================================================

 

使用方式,通过集成了ArrayAccess接口,可以通过数组的形式来访问对象

$config = lib\config::instance();

print_r($config['default']);

 

分享到:
评论

相关推荐

    PHP使用正则动态修改配置文件

    假设配置文件中的某项设置是`db_host=localhost`,我们要将其改为`db_host=192.168.1.1`,可以这样写: ```php $newConfigContent = preg_replace('/db_host=.*?/', 'db_host=192.168.1.1', $configContent); ``` ...

    php配置文件

    PHP的配置文件对于理解和优化其工作方式至关重要。在本文中,我们将深入探讨PHP的配置资源以及详细的配置步骤。 首先,我们关注的是PHP的配置文件——`php.ini`。这个文件包含了PHP的所有设置,如变量、模块启用、...

    php.ini配置文件解析

    文件是 PHP 运行环境的核心配置文件,其重要性不言而喻。本文将深入解析 `php.ini` 的组织方式、结构特点及关键配置项,帮助开发者更好地理解和优化 PHP 应用。 #### 组织方式与结构 `php.ini` 文件采用类似于 ...

    PHP配置文件详解

    ### PHP配置文件详解 #### 一、PHP安全模式配置 **1.1 开启安全模式** PHP的安全模式是一项内置的安全特性,旨在限制某些敏感函数的使用,并增强文件系统的安全性。默认情况下,`php.ini` 文件中的安全模式是关闭...

    PHP配置文件详解.pdf

    ### PHP配置文件详解 #### 一、概览 在IT领域,尤其是Web开发中,PHP是一种广泛使用的服务器端脚本语言。PHP配置文件,通常命名为`php.ini`,是PHP运行环境的核心配置文件,它控制着PHP的行为和性能。本文将深入...

    中文php配置文件php.ini

    ### 中文 PHP 配置文件 php.ini 解析 在 IT 行业中,尤其是对于 Web 开发者来说,正确配置 PHP 环境至关重要。本文将深入解析一份中文版的 `php.ini` 配置文件,帮助理解其各项设置的意义与作用。 #### 一、配置...

    php中配置文件操作 如config.php文件的读取修改等操作

    `getconfig`函数的职责是读取指定配置文件(例如`./2.php`)中给定的配置项(如`bb`)。它接受三个参数:文件路径、配置项名称和数据类型(默认为`string`)。函数内部通过`file_get_contents`读取整个文件内容,...

    PHP读取配置文件类实例(可读取ini,yaml,xml等)

    首先,我们来看一个基础的配置文件读取类`Settings`,它提供了一个`get`方法用于获取配置项,以及一个`load`方法用于加载配置文件。`get`方法通过递归访问`$_settings`数组来取得指定的配置项,如果在数组中找不到...

    PHP配置文件详细翻译

    ### PHP配置文件详解 #### 概述 在PHP运行环境中,`php.ini`配置文件扮演着极其重要的角色,它控制了PHP执行时的行为与特性。为了确保PHP能够正确读取这些配置,该文件必须被命名为`php.ini`。在不同的操作系统和...

    php动态配置类.zip

    在PHP开发中,动态配置类是一种非常实用的设计模式,它允许开发者将网站的配置信息存储在数据库中,而不是硬编码在代码文件里。这样做的好处是可以在不修改代码的情况下,灵活地更新或调整配置,提高了系统的可维护...

    php 操作INI文件,读取,设置,ini文件

    - 使用权限控制确保只有授权的用户或程序可以修改配置文件。 - 对于敏感信息,如密码和API密钥,应考虑使用更安全的存储方式,如环境变量或加密文件。 6. **XML与INI文件** 虽然这个话题主要集中在INI文件上,但...

    php多文件上传类.zip

    在PHP开发中,多文件上传是一项常见的需求,特别是在构建用户交互性强、数据交换频繁的Web应用时。"php多文件上传类.zip" 提供了一个专为处理这种需求设计的类库,它允许用户同时上传多个文件,提高了工作效率,简化...

    ci框架的config.php配置文件

    在CI框架中,`config.php`文件是非常重要的一个配置文件,它包含了运行CI应用所需的各种基本设置。通过对这些配置项的理解与调整,开发者可以更好地控制应用的行为与性能。接下来,我们将深入探讨`config.php`文件中...

    php读取及生成execl 类

    在PHP中,处理Excel文件是一项常见的任务,尤其在数据导入导出、报表生成等领域。这里提到的"php读取及生成execl 类"是专门针对这个需求设计的工具,可以帮助开发者高效地操作Excel数据。接下来,我们将深入探讨相关...

    php-upload封装类上传文件,多单文件上传.zip

    在PHP开发中,文件上传是一项常见的任务,尤其在构建Web应用程序时。为了简化这一过程,开发者经常使用封装好的上传类。本压缩包“php-upload封装类上传文件,多单文件上传.zip”提供了一个完整的PHP文件上传解决方案...

    php配置文件php.ini的中文注释版(09.4)

    ### PHP配置文件php.ini的中文注释版解析 在深入探讨`php.ini`配置文件的知识点之前,我们先简要了解其背景与作用。`php.ini`是PHP语言的核心配置文件,它控制着PHP的运行环境,包括但不限于性能优化、错误处理、...

    php INI配置文件的解析实现分析

    从给定的文件信息中,我们可以提取出关于PHP INI配置文件解析实现的多个知识点,以及与dba扩展相关的部分。 ### PHP INI配置文件解析 1. **使用parse_ini_file和parse_ini_string函数** 在PHP中解析INI文件常用到...

    php大文件上传

    配置文件中的`post_max_size`和`upload_max_filesize`决定了允许上传文件的最大尺寸。这两个参数需要根据实际需求进行调整,确保能容纳大文件。另外,`max_input_time`和`memory_limit`也需要适当增加,以防止因为...

    ThinkPHP公共配置文件与各自项目中配置文件组合的方法

    开发者可以通过在配置文件中定义`EXT_CONFIG`数组,指定需要额外加载的配置文件,然后通过`C()`函数或者`Think::config()`方法来获取配置信息。 总之,合理地管理配置文件,使用公共配置与项目配置的组合,不仅可以...

Global site tag (gtag.js) - Google Analytics