问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

CI框架中自定义的类怎么加载application中的config配置文件并取得它的值

发布网友 发布时间:2022-04-28 03:06

我来回答

2个回答

懂视网 时间:2022-04-28 07:27

?

本文针对于框架给的代码扩展,然后去探索框架加载其它类型文件的配置文件

?

在初始化应用和模块中有一个属性是configExt,这个属性就是文件的扩展

在这里插入图片描述去找一下这个属性是在哪里设置的。

根据config配置文件加载流程,可以很清晰的看到init方法的上一层是初始化应用,也就是initialize方法。

那么这个属性肯定是在init方法之前就已经提前设定好了的。

返回到init方法的上一层initialize就直接可以看到这个值的设定。

在这里插入图片描述
在这里插入图片描述

这个值是从env的环境变量中获取的,如果没有则默认为php,所以就需要创建一个env的文件。

并且给一个默认值为yaml

在这里插入图片描述这里给大家看一下变化,在5.1.34 LTS版本的时候存在一个bug,咔咔目前使用的是5.1.39 LTS 这个问题已经修复了。

这段代码相信都可以看出来,它是先对configExt进行了设置默认值,然后在去加载环境变量配置文件。

那么加载这个环境变量的这段代码就毫无任何意义,configExt的值永远都是.php

就算在env文件里边做了配置也不会获取得到。

在这里插入图片描述在之前在config配置文件中添加了一个yaml的配置文件

在这里插入图片描述那么这个时候就可以使用config类来获取yaml类型文件的配置了。

测试一下没有任何问题,数据是可以出来的。

但是实际项目中可不敢这么整啊!如果要把configExt这个值配置到环境变量,配置的是什么类型就需要把config目录下的所有配置文件全部转化为对应类型。

例如configExt设置的为.ini ,则就需要把config目录下的所有文件都改为ini文件形式

在这里插入图片描述在这里插入图片描述这块内容只是针对阅读源码后一个运用而已,实际项目中不要这样使用,因为在tp框架中所有的配置文件都是PHP类型的。

如果改为其它类型的话,就需要修改框架中所有的配置文件,这种事情能不干就不哈!

?

坚持学习、坚持写博、坚持分享是咔咔从业以来一直所秉持的信念。希望在偌大互联网中咔咔的文章能带给你一丝丝帮助。我是咔咔,下期见。

?

热心网友 时间:2022-04-28 04:35

// 加载配置文件
@include(APPPATH.'config/你要加载的文件' . EXT);

比如你的config文件中定义
$auth["test"] = "123";
你就可以直接使用$auth['test']了。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
在公交车上实施扒窃,会受到怎样的处罚? 交通违法行为识别 公交车扒窃会如何处罚? 郑州鱼缸清洗找哪家公司做得比较好? 郑州有没有专业维修鱼缸,清洗鱼缸的? ...的鱼缸,放在办公室养些鱼水草之类的。郑州哪里有卖这样的鱼缸。_百... 我们公司想要定做个观赏鱼缸,不知道郑州哪家公司最专业? 谁知道郑州生态鱼缸定做哪家做的效果最好? 联想电脑启用无线功能的功能键? 笔记本电脑怎么连接网笔记本电脑怎样连接无线网 基于ThinkPHP框架做的后台,如何写清除缓存 关于thinkphp框架的问题 PHP资深程序员请进 如何防范thinkphp框架执行任意代码 thinkphp架构问题 thinkphp框架,数据动态缓存后,读取缓存数据时分页怎么办 求一个ThinkPHP开发的项目源码最好是企业网站那种 ThinkPHP框架进行数据的基本操作(增、删、改、查)与直接调用PHP函数来实现操作有何不同? 如何使thinkphp框架编写的代码每隔一段时间自动运行一次 thinkphp3.2.3 参数优化 Thinkphp框架源码 为什么tp3.2框架用c方法无法显示配置项 TP框架中自动验证($validata)是怎么得到待验证数据(create)的 PHP中,一个用非TP框架写的代码,一个用TP框架写的代码,如何将这个TP框架的代码整合到非TP框架的代码中 AJAX实现无限级分类列表,如何得到下拉框里的值,用的是TP框架,PHP语言 php中 Tp框架修改信息 是TRUE才行 $model->save() !== FALSE 就是行不通 tp框架一个方法可以写多个查询语句吗 thinkphp 5.1 获取不到config的自定义的值 怎样在tp框架中写函数判断哪些sql语句是慢查询 tp框架config.php中define可不可以动态设置 tp框架最简单的代码 如果引用了Spring框架,必不可少的配置文件是什么?并说明其作用。 [转载]Spring加载配置文件的几种方法(org.springframework osgi框架 如何从一个插件的类调用另一个插件的类的配置文件?路径问题。 如果引用了Hibernate框架,必不可少的配置文件是什么?并说明其作用。 刚学框架,xml配置文件是干什么用的,为什 刚学框架,xml配置文件是干什么用的,为什么要配置 java web工程中有哪些配置文件,分别起什么作用 spring框架里有这几个文件干什么用的? 问题:为什么Java或者.Net的程序框架会有这么多配置文件,而C++的都不见得有? 有没有什么见解啊??? 为什么Java或者.Net的程序框架会有这么多配置文件,而C++的都不见得有?其中是原因是什么? java读取配置文件有什么框架 如何让是spring启动时加载一个类。这里类实现了读取xml配置数据到内存中(不是属性文件) ibatis框架的两类配置文件作用,以及内置常量 java使用SSM框架做的案例,启动Tomcat后始终报错,提示无法加载applicationContext.xml配置文件! 在java ssh框架编程中,model的实体类一定需要hibernate配置文件么?还有spring.xml这个文件是做什么用的 java web 开发,使用ssh框架,spring配置文件里面配置了一些bean,spring容器会实例化这些bean, 学习java三大框架时,不会配置web.xml文件怎么解?有什么好方式记忆吗? 苹果14系统设置充电提示音 ios14充电提示音设置完之后还有默认的提示音怎么回事? emui11卡不卡,电池续航能力怎么样?mate30手机