问答详情
源自:2-11 config类和config助手函数

使用config('username','along','index')后,在使用dump(config())为什么没有username这一项?

config('username','along','index');

dump(config());

提问者:qq_徒弟_03996431 2017-06-08 09:59

个回答

  • 慕神7369758
    2018-07-18 10:21:27

    看了你的代码 你引用了use think\config 这个配置文件了吗

  • 幽天飞舞
    2017-08-14 21:42:20

    我感觉作用域不是什么模块之类的东西

  • 幽天飞舞
    2017-08-14 21:40:37

    配置文件根据作用域来分有两类:

    •      系统默认作用域    _sys_     (可以看Config类了解),该类配置文件包括惯例配置、扩展配置、应用配置等等;

    •     用户自定义作用域,通过  Config::set()  函数特意添加作用域参数,

                    如(    Config::set($name,$value,$作用域)       )

      当config()函数的参数为空时,表示读取系统配置文件,也就是作用域为     _sys_    的配置,此时是读取不到你自定义作用域设置的配置文件,所以  你的 dump(config());  球都没读出来,楼上小哥的方法可以读出来是因为

    dump(config(null,null,'index'))指定了作用域‘index’

    PS:作用域为  _sys_  的配置文件几乎在所用php文件中都可以使用,但是自定义作用域的配置只能在当前文件中使用

  • _焱_
    2017-06-08 11:57:48

    我也不是很清楚  只能帮你这样了  对thinkPHP有点陌生

  • _焱_
    2017-06-08 11:56:48

    如果你要给当前文件单独配置参数  就在文件中直接config不用第三个参数就行   

    如果你一定要dump出来  那就dump(config(null,null,'index'))

  • qq_徒弟_03996431
    2017-06-08 11:32:50

    这是我的代码

    <?php
    namespace app\index\controller;

    class Index
    {
       public function index()
       {
           config('username','hwj','index');
           dump(config());
       }
    }


    访问路由是http://localhost/tp/public/index.php/index/index/index

  • _焱_
    2017-06-08 11:18:46

    config第三个参数  配置了作用域为index模块   但有可能你的dump是在其他模块执行的