一、yaf扩展的配置

这个配置内容是配置在php.ini文件中,一般在[yaf]这个区段(默认是没有的,可以在php.ini中加入)

这里主要列举常用的配置

(1)yaf.environ:定义应用的运行环境,如dev表示开发环境;test表示测试环境;product表示生产环境(默认为product),程序运行后会根据该值读取应用程序配置文件中对应的区段。

(2)yaf.library:定义类库文件位置,这个一般不用设置,默认为应用目录application下的library下,除非有特殊需求。

(3)yaf.cache_config:是否缓存配置文件(只针对INI配置文件生效), 打开此选项可在复杂配置的情况下提高性能,一般在生产环境中打开,如果要开启,则设置其值为1

(4)yaf.use_namespace:是否启用命名空间,因为yaf默认是不启用的,如果要启用命名空间,则设置其值为1

二、应用程序中的配置

配置文件一般为conf/application.ini

1、系统配置项(1)必要配置项:application.directory(指定应用程序目录)

application.directory=APP_PATH"/application"

除了有特殊要求,一般都采用默认值

application.modules:模块列表(如前台叫Index,后台加Admin,用户模块叫User,如果要定义这个配置项,则一定要有Indexp这个模块)

application.dispatcher.defaultModule:默认模块名

application.dispatcher.defaultController:默认控制器

application.dispatcher.defaultAction:默认方法

application.view.ext:视图文件控制名

2、配置分组

一般是根据运行环境来分组,如开发环境:dev; 测试环境:test; 生产环境:product。

但application.directory这个配置项一定要有, common为公共配置分组

如:

[common:]

application.directory=APP_PATH."/application"

[product:common]

database.type=mysql

database.read_host=10.2.10.200

database.read_port=3306

database.read_user=productuser

database.read_pwd=password

database.name=testdb

database.db_prefix=tbl_

[test:common]

database.type=mysql

database.read_host=10.2.10.200

database.read_port=3306

database.read_user=testtuser

database.read_pwd=password

database.name=testdb

database.db_prefix=tbl_

[dev:common]

database.type=mysql

database.read_host=10.1.12.100

database.read_port=3306

database.read_user=devuser

database.read_pwd=password

database.name=testdb

database.db_prefix=tbl_

注:

根据YAF扩展中的yaf_environ中的环境配置读取对应的区段的内容,如yaf_enviro=dev,则读取[dev:common]区段的内容,默认为product

ini配置文件,也可以实现继承的,如[dev : common]表示dev区段,可以继承common的配置项,即common中可以放一些公共的配置,不随环境

变化的配置内容

配置文件中可以使用PHP中的常量,如上例中的APP_PATH即为入口文件中定义的常量

3、配置文件的读取(1)通过Yaf_Application::app()->getConfig()获取:Yaf_Application::app()为应用的实例,它返回的一个Yaf_Config_Ini的对象

如:读取上面配置的application.directory

$config=Yaf\Application::app()->getConfig();

var_dump($config->application->directory);

(2)通过Yaf_config_ini实例获取,将配置文件作为实例化参数实例化Yaf_Config_ini,通过Yaf_Config_ini来获取$config=newYaf\Config\Ini(APP_PATH.'/conf/application.ini');

var_dump($config->common->application->directory);

或者:

$config=newYaf\Config\Ini(APP_PATH.'/conf/application.ini','common');

var_dump($config->application->directory);

(3)通过对象注册树YafRegistry来获取:当然其实这并不是一种获取配置的方式,这种方式的前提是,在获取获取后存到对象注册树Yaf

Registry中才能获取到

$config=Yaf\Application::app()->getConfig();

Yaf\Registry::set('config',$config);

var_dump(Yaf\Registry::get('config'));

注:如果觉得使用对象数据不习惯,可以使用toArray方法,将对象转化为数组

php配置yaf,Yaf配置文件详解相关推荐

  1. druiddatasource配置_Spring核心配置文件详解

    点击蓝字"程序员考拉"欢迎关注! 1:spring的核心配置文件中的各种配置. spring的核心配置文件的名字 叫做 applicationContext.xml,后期也可以通过 ...

  2. nagios 服务端与客户端监控安装与详细配置,各配置文件详解

    nagios 安装与部署------ 1.安装前准备 (1)创建nagios用户和用户组    [root@localhost ~]#groupadd nagios                us ...

  3. Redis 服务配置 redis.conf 配置文件详解

    一.Redis的安装 想要使用Redis,肯定是先要在服务器上进行安装:对于安装在本篇文章中就不讲解,不会的可以看我另一篇文章:传送门 二.Redis版本:redis-server --version ...

  4. mybatis mysql 配置文件_Mybatis配置文件详解(4)

    本次主要来了解: MyBatis数据库配置文件SqlMapConfig.xml SQL映射配置中输入映射的配置 SQL映射配置中输出映射的配置 SQL映射配置中动态SQL语句的配置 1. SqlMap ...

  5. CENTOS7 高性能Linux集群 通过yum进行 haproxy配置 !安装 !使用!HAProxy配置文件详解

    Haproxy配置 永久修改名字:便于区分虚拟机! Haproxy:hostnamectl set-hostname haproxy Web1: hostnamectl set-hostname WE ...

  6. vsftpd配置文件详解 ---配置解说

    vsftpd配置文件详解 1.默认配置: 1>允许匿名用户和本地用户登陆.      anonymous_enable=YES      local_enable=YES 2>匿名用户使用 ...

  7. Debian操作系统的源配置信息详解--Source.list配置文件详解

    转载来源:https://wiki.debian.org/SourcesList#Repository_URL Debian操作系统的源配置信息详解--Source.list配置文件详解 Debian ...

  8. Linux-nginx配置文件详解与配置与请求行/头/体过长414、413配置

    Linux-nginx配置文件详解 目录 启动命令 location : ReWrite语法: 代理D盘符下的文件: Redirect重定向: 反向代理: 配置upstream实现负载均衡: 防盗链: ...

  9. 配置nginx方向代理,实现URL隐形转发 (附带nginx配置文件详解)

    配置nginx方向代理,实现URL隐形转发 (附带nginx配置文件详解) 免费领取满减阿里云红包 项目名称:[域名解析–隐形URL转发]–centos 7.3 环境: 阿里云服务器之上有多个tomc ...

  10. 配置文件详解+AlertManager微信邮件告警配置

    文章目录 前言 AlertManager告警简单部署 一.AlertManager告警简介 1.简介 2.告警规则组成 1)告警名称 2)告警规则 3.Alertmanager特性 1)分组 2)抑制 ...

最新文章

  1. C++ 继承与多继承
  2. hdu 2028 Lowest Common Multiple Plus
  3. python常用内置模块-python常见内置模块collections
  4. wchar_t*和string相互转换
  5. Spring Web应用程序的最大缺陷
  6. 分层和分段用什么符号_小编带你学直播——后牙树脂分层堆塑
  7. 深度学习多模态融合_3D目标检测多模态融合综述
  8. 按用户设置计算机权限,巧妙设置用户权限 管理学生机房计算机
  9. 使用DataSync迁移数据到Gaussdb T
  10. 【转】更改navigationController push和pop界面切换动画
  11. TCP/IP协议栈中,为什么选择IP层负责分片?
  12. MySQL存储过程和函数的区别
  13. 暂时初步完成了搜索引擎的基本功能
  14. Python—字典的操作
  15. GanttChart
  16. M1 Mac 安装iPad、iPhone App
  17. 无法从共享目录中映射段 linux,在Linux中Varnish无法启动:无法从共享对象映射段:不允许操作...
  18. oracle 如何备份.bak,Oracle备份如何到异机还原
  19. 剑指 Offer 46. 把数字翻译成字符串(动态规划+回溯+递归 解法)
  20. 【计算机视觉】文字检测与识别资源

热门文章

  1. Elasticsearch 对象及 Nested 对象【1】
  2. APP安全工具集锦ing
  3. 网站的护眼模式和夜间模式
  4. 12月19日绝地求生服务器维护公告,绝地求生12月19日更新内容有哪些更新到几点 BUG修复哪些...
  5. 关于在uni-app中使用swiper(APP实测可用)
  6. 树莓派初始化及网络、软件源、远程桌面、中文相关设置
  7. Python实现智能小风扇和智能RGB灯
  8. 电信路由器获取超级管理员的方法
  9. 官宣!字节跳动取消大小周,员工却高兴不起来! 内网哀嚎:变相降薪20%,少赚一万!...
  10. 图采用邻接表存储,设计一个算法,判断顶点i和顶点j(i!=j)之间是否有路径