• yaf框架学习文件配置


    文件配置:

    在配置php支持yaf的时候,可以设置一个参数yaf.environ:把本地开发设置成develop、测试环境配置成test、生产环境配置成product。

    [yaf]
    extension=yaf.so
    yaf.use_namespace=1
    yaf.environ=develop

    通过设置运行环境,在项目中可以通过ini_get(‘yaf.environ’)获取环境参数,进而取到相应节的配置。

    yaf配置文件一般都放在项目的conf文件夹下,yaf application实例化的时候需要传递一个配置文件路径,配置文件叫application.ini,先看下application.ini的结构:

    [common]
    ; 通用配置
     
    [product : common]
    ; 生产环境配置
     
    [test : common]
    ; 测试环境配置
     
    [develop : common]
    ; 开发环境配置

    配置除了节之外,节和节之间还有继承关系。

    例如[product : common]就表示product的配置会继承common的配置。

    yaf在实例化应用传递配置文件路径和运行环境:

    1 define("APPLICATION_PATH", realpath(dirname(__FILE__) . '/../'));
    2 $app = new YafApplication(APPLICATION_PATH . "/conf/application.ini", ini_get('yaf.environ'));

    这样当项目运行环境在develop下的时候,会优先读取[develop : common]内的配置,如果没有则会从[common]中获取。

    在项目中任何地方都可以通过

    YafApplication::app()->getConfig();
    

    获取application.ini中的配置。

    事实上该例中可以不用传递ini_get(‘yaf.environ’)参数,在实例化的时候yaf会自行读取php.ini中的yaf.environ参数。但如果是其它的配置文件,则需要传递该参数。

    额外的配置

    随着项目越来越庞大,配置也会越来越复杂,如果都放在项目默认的配置文件application.ini中,可能配置会有好几百行,这样就不容易维护了。一般我们会考虑新建配置文件用来存储额外的配置。yaf中提供了YafConfigIni类来处理这些额外的配置文件。

    $config = new YafConfigIni(APPLICATION_PATH . '/conf/url.ini', ini_get('yaf.environ'));
    

    在实际读取的时候,最好能设置一个静态变量保存读取到的配置,避免重复申请系统open函数调用。如下:

    static $config = null;
    if ($config === null) {
        $config = new YafConfigIni(APPLICATION_PATH . '/conf/url.ini', ini_get('yaf.environ'));
    }
    

    参考:http://www.01happy.com/php-yaf-ext-config/

  • 相关阅读:
    轻松搭建CAS 5.x系列(1)-使用cas overlay搭建SSO SERVER服务端
    SpringCloud-技术专区-SSO单点登录之OAuth2.0登录认证云架构
    CAS实现单点登录原理
    CAS实现SSO单点登录原理
    使用Mmap系统调用进行硬件地址访问
    驱动阻塞模型
    Altium Designer如何批量修改名称,数值,封装
    驱动接口函数调用过程
    基本驱动模型
    从linux和ucos的比较中来看进程这个概念
  • 原文地址:https://www.cnblogs.com/xiaohaillong/p/6030012.html
Copyright © 2020-2023  润新知