前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用 array_reduce 自定义配置文件

使用 array_reduce 自定义配置文件

作者头像
码缘
发布2020-08-25 15:15:09
6410
发布2020-08-25 15:15:09
举报
文章被收录于专栏:PHP修行之路PHP修行之路

定义 config 函数例如配置文件为

app.php

代码语言:javascript
复制
<?php
return [
    "middlewares" => [
        "before" => [
            "app\Http\Middleware\BeforeMiddleware",
            "app\Http\Middleware\NextMiddleware"
        ],
        "after" => [
            "app\Http\Middleware\AfterMiddleware"
        ]
    ]
];

通过 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;

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-08-23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档