php配置yaf,Yaf配置文件详解
一、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配置文件详解相关推荐
- druiddatasource配置_Spring核心配置文件详解
点击蓝字"程序员考拉"欢迎关注! 1:spring的核心配置文件中的各种配置. spring的核心配置文件的名字 叫做 applicationContext.xml,后期也可以通过 ...
- nagios 服务端与客户端监控安装与详细配置,各配置文件详解
nagios 安装与部署------ 1.安装前准备 (1)创建nagios用户和用户组 [root@localhost ~]#groupadd nagios us ...
- Redis 服务配置 redis.conf 配置文件详解
一.Redis的安装 想要使用Redis,肯定是先要在服务器上进行安装:对于安装在本篇文章中就不讲解,不会的可以看我另一篇文章:传送门 二.Redis版本:redis-server --version ...
- mybatis mysql 配置文件_Mybatis配置文件详解(4)
本次主要来了解: MyBatis数据库配置文件SqlMapConfig.xml SQL映射配置中输入映射的配置 SQL映射配置中输出映射的配置 SQL映射配置中动态SQL语句的配置 1. SqlMap ...
- CENTOS7 高性能Linux集群 通过yum进行 haproxy配置 !安装 !使用!HAProxy配置文件详解
Haproxy配置 永久修改名字:便于区分虚拟机! Haproxy:hostnamectl set-hostname haproxy Web1: hostnamectl set-hostname WE ...
- vsftpd配置文件详解 ---配置解说
vsftpd配置文件详解 1.默认配置: 1>允许匿名用户和本地用户登陆. anonymous_enable=YES local_enable=YES 2>匿名用户使用 ...
- Debian操作系统的源配置信息详解--Source.list配置文件详解
转载来源:https://wiki.debian.org/SourcesList#Repository_URL Debian操作系统的源配置信息详解--Source.list配置文件详解 Debian ...
- Linux-nginx配置文件详解与配置与请求行/头/体过长414、413配置
Linux-nginx配置文件详解 目录 启动命令 location : ReWrite语法: 代理D盘符下的文件: Redirect重定向: 反向代理: 配置upstream实现负载均衡: 防盗链: ...
- 配置nginx方向代理,实现URL隐形转发 (附带nginx配置文件详解)
配置nginx方向代理,实现URL隐形转发 (附带nginx配置文件详解) 免费领取满减阿里云红包 项目名称:[域名解析–隐形URL转发]–centos 7.3 环境: 阿里云服务器之上有多个tomc ...
- 配置文件详解+AlertManager微信邮件告警配置
文章目录 前言 AlertManager告警简单部署 一.AlertManager告警简介 1.简介 2.告警规则组成 1)告警名称 2)告警规则 3.Alertmanager特性 1)分组 2)抑制 ...
最新文章
- C++ 继承与多继承
- hdu 2028 Lowest Common Multiple Plus
- python常用内置模块-python常见内置模块collections
- wchar_t*和string相互转换
- Spring Web应用程序的最大缺陷
- 分层和分段用什么符号_小编带你学直播——后牙树脂分层堆塑
- 深度学习多模态融合_3D目标检测多模态融合综述
- 按用户设置计算机权限,巧妙设置用户权限 管理学生机房计算机
- 使用DataSync迁移数据到Gaussdb T
- 【转】更改navigationController push和pop界面切换动画
- TCP/IP协议栈中,为什么选择IP层负责分片?
- MySQL存储过程和函数的区别
- 暂时初步完成了搜索引擎的基本功能
- Python—字典的操作
- GanttChart
- M1 Mac 安装iPad、iPhone App
- 无法从共享目录中映射段 linux,在Linux中Varnish无法启动:无法从共享对象映射段:不允许操作...
- oracle 如何备份.bak,Oracle备份如何到异机还原
- 剑指 Offer 46. 把数字翻译成字符串(动态规划+回溯+递归 解法)
- 【计算机视觉】文字检测与识别资源
热门文章
- Elasticsearch 对象及 Nested 对象【1】
- APP安全工具集锦ing
- 网站的护眼模式和夜间模式
- 12月19日绝地求生服务器维护公告,绝地求生12月19日更新内容有哪些更新到几点 BUG修复哪些...
- 关于在uni-app中使用swiper(APP实测可用)
- 树莓派初始化及网络、软件源、远程桌面、中文相关设置
- Python实现智能小风扇和智能RGB灯
- 电信路由器获取超级管理员的方法
- 官宣!字节跳动取消大小周,员工却高兴不起来! 内网哀嚎:变相降薪20%,少赚一万!...
- 图采用邻接表存储,设计一个算法,判断顶点i和顶点j(i!=j)之间是否有路径