有学过tp3.2的人都知道,tp中,配置信息是以config.php文件来存储的,各个文件夹里的配置文件通过优先级的顺序来进行配置分配的,而tp5.1中,配置信息不是config.php,而是用一个config目录来存储配置信息,可以说,是config目录取代了config文件。
如图,tp5.1的目录中有个config目录
关于配置信息的获取和设置
首先,我们要创建一个控制器文件,即在application目录下创建admin模块文件夹,在创建controller控制器文件夹,在里面创建一个类文件,注意,这个类文件不再是IndexController.class.php这样在格式,而是Index.php的格式,打开这个文件,我们在里面书写获取和设置的方法。
有必要解释一下,namespace app\admin\controller,这个是命名空间,下面的use think\facade\Config表示调用一个用门面技术门面过的Config类,怎么门面这个类,这里不过多讨论,这里,我们只讲怎么去使用这个被门面过的Config类用来获取和设置配置信息。
好,接下来
我们在类中写个get()方法,用来获取配置信息,
public function get(){
dump(Config::get('app.')); //获取一级配置项app中的配置信息
dump(Config::get('app.app_name')); //获取一级配置项中的二级配置项app_name的配置信息
dump(Config::get('app_name')); //因为app是系统默认的一级配置项信息,所以app可以不写,功能和上一样,都是获取二级配置项app_name的信息。
//当然,也可以在该类中写其他的Config类中的方法,写法和Config类中的get方法差不多,如
dump(Config::has('app.app_name')); //用来判断二级配置项中app_name是否存在
},写好之后就可以通过浏览器来访问了。(http://localhost/index/admin/Index/get)
再接下来,就是配置的设置方法了,配置设置有2种方法,其中一种是通过修改配置目录下面的配置文件来修改,第2中就是通过Config类中的set()方法
在Index类下创建个set()方法,即
public function set(){
Config::set('app.app_name','任意名称');
dump(Config::get('app.app_name'));
} 写好之后就可以通过浏览器来访问了。(http://localhost/index/admin/Index/set)
说明一下,set方法只能设置当前,并不会改变原配置文件的信息,只有获取时才看到了改变,因此,可理解为,这种设置方法为动态设置方法。
网友评论