(Yaconf >= 1.1.0)
Yaconf::__debug_info — 查看某个配置值的存储方式
返回以 name
该值在内存中的地址,以及该值是否仍然存放在 Yaconf
压缩后的存储块中。
该方法存在的唯一目的是供 Yaconf 自身的测试套件使用, 测试用它来验证扩展是否工作正常。请勿在生产代码中使用它, 也不要依赖其输出格式:返回的数组可能随时变化。
name要查看的配置名,使用与 Yaconf::get() 相同的点号记法。
当配置存在时,返回一个包含四个元素的 array;
否则返回 null:
key —— 被查找的配置名。
address —— 该值在内存中的地址。
配置值以驻留字符串(interned string)或不可变数组的形式存储,
因此在配置被重新加载之前,该地址保持不变。
val —— 存储的值本身。
changed —— 当该值的数据仍存放在压缩存储块内时
为 false,表示操作系统尚未复制过该内存页(写时复制仍然有效);
当该值被重新分配到存储块之外时为 true。
示例 #1 Yaconf::__debug_info() 示例
<?php
// 假设 app.ini 中包含 name="shop"
var_dump(Yaconf::__debug_info("app.name"));
/*
array(4) {
["key"]=>
string(8) "app.name"
["address"]=>
string(14) "0x7f8b1c0a3d20"
["val"]=>
string(4) "shop"
["changed"]=>
bool(false)
}
*/
var_dump(Yaconf::__debug_info("app.missing")); // NULL
?>