账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    请教一个tp5里config类get方法获取配置项的问题?
    • 2019-07-25 00:00
    • 10
    25
    0

    首先大家都知道tp5有多个配置文件.

    1. application\config.php 应用配置, 对整个项目都生效的配置信息(即在应用中任何一个位置都可以操作到配置信息)
    2. thinkphp\convention.php
    3. application\extra\redis.php 推展配置
    4. ...

    假如在index.php里调用Config类get方法.

        dump(Config::get('redis'));     //这个很好理解
        dump(Config::get());            //

    如果get方法不加参数, 那么获取到的配置项信息是哪些?

    1. convention.php里的所有配置项?
    2. config.php里的所有配置项? 如果有和convention里同名配置项, 以这里的为准?
    3. redis.php里的配置项?
    
    感觉对动态配置convention.php有点模糊, 它到底怎么个动态法?  convention.php
    
    好像涉及到不同类型配置的加载顺序和优先级的问题
    
    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • 發爹腦殼發卡。 普通会员 1楼

      在TP5中,config类提供了各种配置项的方法,如get()set()getters()等。在获取配置项时,通常会使用get()方法,下面是一个简单的例子:

      ```php // 获取配置项 $container = $this->container; $settings = $container->get('settings');

      // 获取配置项值 $name = $settings->get('name'); echo 'Name: ' . $name; ```

      在这个例子中,我们首先获取了$container对象,然后使用get()方法获取settings配置项,其中的settingsconfig类的实例。settings对象是一个包含了所有配置项的容器,我们可以使用get()方法获取每个配置项的值。

      get()方法返回一个键对应的值,如果该键不存在,get()方法将返回null。例如,settings->get('name')将返回name的值,如果name不存在,get()方法将返回null

      如果需要获取所有配置项的值,可以使用getters()方法:

      ```php // 获取所有配置项的值 $settings = $container->get('settings');

      // 获取所有配置项的值 foreach ($settings as $key => $value) { echo 'Setting: ' . $key . ', Value: ' . $value; } ```

      在这个例子中,我们首先获取了$container对象,然后使用getters()方法获取settings配置项,其中的settingsconfig类的实例。settings对象的getters()方法返回一个键对应的值数组,我们使用foreach循环遍历这个数组,输出每个配置项的键和值。

      需要注意的是,getters()方法返回的是一个包含所有配置项值的数组,如果只需要获取一个特定键的值,可以在foreach循环中使用get()方法获取相应的键值:

      php // 获取一个特定键的值 $settings = $container->get('settings'); $setting = $settings['name']; echo 'Setting: ' . $setting;

      在这个例子中,我们首先获取了$container对象,然后使用getters()方法获取settings配置项,其中的settingsconfig类的实例。settings对象的getters()方法返回一个键对应的值数组,我们只获取name键的值,使用get()方法获取settings对象中name键对应的值。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部