定义 config 函数例如配置文件为
app.php
代码语言:javascript复制<?php
return [
"middlewares" => [
"before" => [
"appHttpMiddlewareBeforeMiddleware",
"appHttpMiddlewareNextMiddleware"
],
"after" => [
"appHttpMiddlewareAfterMiddleware"
]
]
];
通过 config("app.middlewares.after") 访问配置文件中的内容
config函数定义如下
代码语言:javascript复制<?php
if (!function_exists("config")) {
function config($key)
{
$key_arr = explode(".", $key);
$arr = include ROOT_DIR . "/config/" . $key_arr[0] . ".php";
array_shift($key_arr);
return array_reduce($key_arr, function ($arr, $key) {
return $arr[$key];
}, $arr);
}
}
array_reduce 的使用方法
注意两点
1.函数的第一个参数数组中的值是传递到匿名函数中的第二个函数使用的
2.如果没设置第三个函数的话,匿名函数的默认值是 null
例如
代码语言:javascript复制<?php
$arr = [1,2,3,4,5];
array_reduce($arr,function($x,$y){
return $x $y;
});
第一次执行的时候 x = null;y = 1 而不是 x = 1;y = 2;