iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >thinkphp5.1支不支持extra
  • 182
分享到

thinkphp5.1支不支持extra

2023-07-04 18:07:47 182人浏览 独家记忆
摘要

本篇文章和大家了解一下thinkPHP5.1支不支持extra。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。thinkphp5.1不支持extra,thinkphp5.1中config函数已经取消了extra的支持;可以

本篇文章和大家了解一下thinkPHP5.1支不支持extra。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

thinkphp5.1不支持extra,thinkphp5.1中config函数已经取消了extra的支持;可以将“function editConfig($arr = [] ,$user='admin'){...}”代码贴入app或者application文件夹内的common.php中即可全局使用该函数。

thinkphp5.1是否支持extra?

不支持。

ThinkPHP5.1 使用文件作为配置文件

ThinkPHP5.1 使用文件作为配置文件的踩坑记录

使用Tp5.1(版本限定)作为App后台的时候,用户频繁的请求,每一步操作都要访问数据库,每一步操作都要访问到 config 配置表,频繁的读取使数据库压力山大,在后台监控流量,发现将近30%的请求都是在访问config表,所以决定将配置固话到本地,使用文件作为配置.

但是查询多方资料,未能找到可以静态修改配置,Tp5.1提供的Config::set()函数只能动态的修改配置文件,而且仅限于本控制器内,实际配置文件并没有改变,这显然不符合我们的要求.

经查询多方资料后,发现这篇最为靠谱,但是实测无效,

进入config函数后,发现Tp5.1中,config函数已经取消了extra的支持,于是乎自己动手改写了一下

不多说,直接暴力上 代码.

function editConfig($arr = [] ,$user='admin'){    if (is_array($arr)) {        //获取文件名        $filename = 'business.php';        //获取配置文件环境变量位置(请确保开启权限,如若报错,请改为绝对路径)        $filepath = Env::get('CONFIG_PATH'). $filename;        //判定配置文件是否存在        if (!file_exists($filepath)  ) {            if(!fopen($filepath, "w")){                return 'PermissionError1';            }        }        //判定权限是否足够        if (!is_writable($filepath)) {            return 'PermissionError2';        }        //遍历整个配置文件        $conf = include $filepath;        foreach ($arr as $key => $value) {            $conf[$key] = $value;        }        //记录修改者        $time = date('Y/m/d H:i:s');        $str = "<?php\r\n\r\nreturn [\r\n";        //写入配置文件        foreach ($conf as $key => $value) {            if(is_array($value)){                $str.="\t'$key'=>[\r\n";                foreach ($value as $ikey=>$r) {                    if(is_numeric($ikey)){                        $str .= "\t\t'$r',";                        $str .= "\r\n";                    }else{                        $str .= "\t\t'$ikey' => '$r',";                        $str .= "\r\n";                    }                }                $str = rtrim($str,',');                $str .= "\t],"."\r\n";            } else{                $str .= "\t'$key' => '$value',";                $str .= "\r\n";            }        }        $str .= '];';        //关闭文件        $result = file_put_contents($filepath, $str);        if($result){            return 'success';        } else {            return $result;        }    } else {        return 'error';    }}

将本段代码贴入app(或者application)文件夹内的common.php中,即可全局使用该函数,进行修改配置文件.

范例:

在网站根目录的config文件夹中建立一个business.php文件(注意读写权限),

控制器中调用修改函数

  public function setBusiness(){        $arr = array(            "WEB" => [                "web_status"=>'1',                1,3,4            ],        );        $result=editConfig($arr,'admin123');        if($result=='success'){            echo ('修改成功');        }elseif($result=='error'){            echo ('修改失败');        }        elseif($result=='PermissionError'){            echo ('文件无权限,请联系管理员');        }    }

config文件夹下的配置文件就会修改为

<?phpreturn ['WEB'=>['web_status' => '1','1','3','4',],];

接下来,在其他控制器中,就可以直接使用config的法则来获取各种配置文件了,具体规则,请移步TP5.1手册配置获取章节.

逻辑程序直接从文件读取配置,用户读取配置,可以设置缓存或者直接从redis里读取.

以上就是thinkphp5.1支不支持extra的简略介绍,当然详细使用上面的不同还得要大家自己使用过才领会。如果想了解更多,欢迎关注编程网PHP编程频道哦!

--结束END--

本文标题: thinkphp5.1支不支持extra

本文链接: https://www.lsjlt.com/news/346886.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • thinkphp5.1支不支持extra
    本篇文章和大家了解一下thinkphp5.1支不支持extra。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。thinkphp5.1不支持extra,thinkphp5.1中config函数已经取消了extra的支持;可以...
    99+
    2023-07-04
  • navicat支不支持mongodb
    这篇文章将为大家详细讲解有关navicat支不支持mongodb,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Navicat for MariaDB 为 MariaDB数...
    99+
    2024-04-02
  • navicat支不支持oracle
    这篇文章主要介绍了navicat支不支持oracle,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。navicat支持oracle。Navicat...
    99+
    2024-04-02
  • ie8支不支持html5
    这篇“ie8支不支持html5”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“ie8支不支持html5”文章吧。ie8不支持h...
    99+
    2023-07-04
  • es6支不支持import
    这篇文章主要介绍了es6支不支持import的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇es6支不支持import文章都会有所收获,下面我们一起来看看吧。es6支持import。import语句用于导入由另一...
    99+
    2023-07-05
  • kangle支不支持PHP
    kangle支持PHP;kangle是一款跨平台、功能强大、安全稳定、易操作的高性能web服务器和反向代理服务器软件,也是一款专为做虚拟主机研发的web服务器,支持php、asp、asp.net、vb.net、C#、java、ruby等多种...
    99+
    2023-05-14
    kangle php
  • vuejs支不支持ie8
    这篇文章主要介绍了vuejs支不支持ie8,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 vuejs不支持ie8...
    99+
    2024-04-02
  • vue支不支持ajax
    这篇“vue支不支持ajax”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue支不支持a...
    99+
    2024-04-02
  • php7支不支持laravel5.3
    这篇文章主要讲解了“php7支不支持laravel5.3”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php7支不支持laravel5.3”吧!php7支持“laravel5.3”版本,因为...
    99+
    2023-06-30
  • safari支不支持html5
    这篇文章主要介绍了safari支不支持html5的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇safari支不支持html5文章都会有所收获,下面我们一起来看看吧。safari是支持html5的;用户可以直接访...
    99+
    2023-07-05
  • css3支不支持rgba
    这篇文章主要介绍“css3支不支持rgba”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“css3支不支持rgba”文章能帮助大家解决问题。 ...
    99+
    2024-04-02
  • vue支不支持ie6
    今天小编给大家分享一下vue支不支持ie6的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。vue不支持ie6;vue官方声明是...
    99+
    2023-07-04
  • webpack支不支持es6
    这篇文章主要介绍了webpack支不支持es6的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇webpack支不支持es6文章都会有所收获,下面我们一起来看看吧。webpack支持es6。webpack 2支持原...
    99+
    2023-07-05
  • php中支不支持unicode
    这篇文章将为大家详细讲解有关php中支不支持unicode,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。php是不支持unicode的,因为Unicode是一种表示所有字母和符号的可靠方式,而PHP只能支...
    99+
    2023-06-15
  • javascript支不支持多态
    本篇内容主要讲解“javascript支不支持多态”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“javascript支不支持多态”吧! ...
    99+
    2024-04-02
  • phpcms支不支持整合
    phpcms支持整合,其具有灵活的架构和丰富的扩展机制,使得它非常容易与其他系统进行整合。无论是个人网站还是企业门户网站,都可以通过phpcms进行整合,获得更好的用户体验和管理效果。本教程操作系统:Windows10系统、PHPcms 9...
    99+
    2023-07-13
  • html5支不支持flv文件
    这篇文章主要介绍了html5支不支持flv文件的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇html5支不支持flv文件文章都会有所收获,下面我们一起来看看吧。 ...
    99+
    2024-04-02
  • 浅析uniapp支不支持Windows
    随着移动互联网的发展,移动应用已成为了人们生活中必不可少的一部分。随之而来的是,移动应用的开发和维护也成为了一个庞大的产业链。而在移动应用的开发中,uniapp是一种很受欢迎的框架。那么,Windows系统支持uniapp吗?首先,需要了解...
    99+
    2023-05-14
  • css3支不支持border属性
    今天小编给大家分享一下css3支不支持border属性的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了...
    99+
    2024-04-02
  • VSCode支不支持go语言
    这篇“VSCode支不支持go语言”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“VSCode支不支持go语言”文章吧。VSC...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作