在class类中添加__construct()方法,其内部配置对该类下所有方法有效:
public function __construct()
{
config('before','beforeAction'); //其对同类中所有方法都有效
}
__construct 方法 执行任何方法之前都会先执行这个方法
动态配置需要写入__construct构造方中调用config('参数1','参数2')函数
用来设置动态配置 参1配置名 参2 配置值
动态配置
在控制器或某个方法进行的配置
使用set方法动态设置参数,例如:
Config::set('配置参数','配置值');// 或者使用助手函数config('配置参数','配置值');也可以批量设置,例如:
Config::set([ '配置参数1'=>'配置值', '配置参数2'=>'配置值']);// 或者使用助手函数config([ '配置参数1'=>'配置值', '配置参数2'=>'配置值']);
写在构造函数时,当前控制器生效;
写在方法时,当前方法生效;
1、public function __construct(){} 在类文件中执行下面任何方法前都会用执行这个方法。
在这方法中直接用助手函数。
运行结果为

如果只在方法里动态配置应用项,那只有这个方法才可以使用,同文件的其它方法是不能使用的。如:

动态配置在方法里面
public function index()中的index即网页搜索index/index/index的第三个index。而它下面的配置只对当前下的有效
1、public function __construct(){} 在类文件中执行下面任何方法前都会用执行这个方法。
在这方法中直接用助手函数。
运行结果为

如果只在方法里动态配置应用项,那只有这个方法才可以使用,同文件的其它方法是不能使用的。如:

总结
优先级:动态配置>模块配置>扩展配置>应用配置>惯例配置
知识拓展以下仅供了解:
1惯例配置的作用域是全局,作用域越大,优先级越低;
2场景配置是用来切换开发场景的
3模块配置里也可细分扩展配置,很少用到,除非项目很庞大
4动态配置里有又可细分为控制器配置和方法配置(方法配置优先级>控制器配置)
5database.php属于扩展配置,但可直接放在conf目录下,也可放扩展(extra)目录下
动态配置
1.何为动态配置:其实可以理解为控制器级别及以下级别的配置
2.如何实现动态配置
a.在某个控制器中的__construct()方法中使用config('name', 'david'),那么在该控制器中所有的方法都可以通过config()函数获取到配置的参数值
b.在某个控制器方法中使用上述操作,那么配置的参数值,仅在该方法中生效
代码案例:
动态配置
|<?php
namespace app\index\controller;
class Index{
public function __construct(){ config('before','beforeAction');//对当前控制器有效
}
public function demo(){
config('demoAction','demo'); //只对当前demo方法有效
dump(config());
}
public function index(){
config('indexAction','index');//只对当前index方法有效
dump(config());
}
}
在方法中动态配置,只在当前方法中生效
在每个方法执行之前都会先执行
public function __construct(){
config('key', 'value');
}
function __construct(){}在一类中,其他方法执行之前均会执行该方法!
在方法中进行动态配置时(助手函数:config(‘配置参数’,‘配置值’);),该动态配置只在该方法中生效,批量配置:
Config::set([ '配置参数1'=>'配置值', '配置参数2'=>'配置值' ]); // 或者使用助手函数 config([ '配置参数1'=>'配置值', '配置参数2'=>'配置值' ]);
构造/助手函数__construct() / config('$a','$b')【仅对当前方法有效】 执行所有方法前先执行该函数,可用于初始化使用