为什么$ params从配置文件中获取值,而不是从默认值中获取值?

雷尼埃

我有一段代码,它是CI 3.1自定义库的一部分:

class NavigationMenu
{
    protected $CI;

    public function __construct($params = ['config' => 'navigation'])
    {

        // this is where I read $params as an array of 10 values
        // and it shouldn't be since $params has only one key = config
        var_dump($params);

        $this->CI =& get_instance();
        $this->CI->load->helper('url');  
        $this->CI->config->load($params['config'], true);
        $this->CI->load->model('nav_model', 'nav');
    }
    ....
}

文件“ navigation.php”具有以下代码:

$config['navigation_open']          = '<ul class="nav">';
$config['navigation_close']         = '</ul>';
$config['item_open']                = '<li>';
$config['item_open_active_class']   = 'active';

我注意到$params传递给构造函数的内容为:

array (size=10)
  'navigation_open' => string '<ul class="nav">' (length=16)
  'navigation_close' => string '</ul>' (length=5)
  'item_open' => string '<li>' (length=4)
  'item_open_active_class' => string 'active' (length=6)

为什么不读为?

array (size=1)
  'config' => string 'navigation' (length=10)

编辑

我没有使用库,这意味着没有创建对象,而是自动加载了库,简单如下:

config/autoload.php
$autoload['config'] = ['navigation'];

每当我点击应用程序的index.php文件时,这都将导致类构造函数被调用。

这是CI的默认行为吗?从PHP构造函数开始,我还不知道吗?还是我的代码出了点问题,但我没有看到呢?

德米特里·科罗布科夫(Dmitriy Korobkov)

您应该$this->CI->config->set_item($params['config'], true)改用。仔细阅读本文档

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么无法从ArrayList中获取值?

来自分类Dev

为什么我无法从文本框中获取值?

来自分类Dev

为什么nullglob不是默认值?

来自分类Dev

从数组中获取值时,为什么会出现NaN(非数字)错误?

来自分类Dev

从PHP JSON数组中仅获取值(为什么必须使用爆破?)

来自分类Dev

为什么 i3 不读取它的配置文件(它们存在)并以默认值开始?

来自分类Dev

为什么C标准C11在gcc中不是默认值?

来自分类Dev

为什么要推动匹配Git中的默认值?

来自分类Dev

为什么在注释中禁止 null 作为默认值?

来自分类Dev

在配置文件regex grep中获取值

来自分类Dev

为什么RandomForestClassifier中的max_features的默认值与RandomForestRegressor中的默认值不同?

来自分类Dev

为什么要在配置文件中声明<mvc:resources>

来自分类Dev

为什么要在配置文件中声明<mvc:resources>

来自分类Dev

使用JavaScript提交表单-为什么不从表单获取值?

来自分类Dev

在猫鼬中,我为对象属性传递什么值以从架构中获取默认值?

来自分类Dev

为什么constexpr不是所有函数的默认值?

来自分类Dev

为什么`ffmpeg`的`-hide_banner`不是默认值?

来自分类Dev

为什么需要“-人类可读”而不是默认值?

来自分类Dev

为什么需要默认值呢?

来自分类Dev

为什么我无法获取此输入元素的默认值?

来自分类Dev

为什么 sys.stdout(在 python 中)没有恢复到默认值的默认方法

来自分类Dev

如何从配置文件中获取值并设置在 Laravel 模型文件中的 $attribute 变量中?

来自分类Dev

为什么获取编辑文本的值错误NULLPOINTER为什么?

来自分类Dev

为什么在JavaScript中无法获取firebaseConfig?

来自分类Dev

为什么在基本文件IO中获取数字而不是字符串?

来自分类Dev

android中的Calendar对象中仅返回默认值。为什么?

来自分类Dev

在C#中,为什么子类字段的默认值不覆盖超类字段的默认值?

来自分类Dev

在C#中,为什么子类字段的默认值不覆盖超类字段的默认值?

来自分类Dev

为什么无法在标签中获取查询值?

Related 相关文章

  1. 1

    为什么无法从ArrayList中获取值?

  2. 2

    为什么我无法从文本框中获取值?

  3. 3

    为什么nullglob不是默认值?

  4. 4

    从数组中获取值时,为什么会出现NaN(非数字)错误?

  5. 5

    从PHP JSON数组中仅获取值(为什么必须使用爆破?)

  6. 6

    为什么 i3 不读取它的配置文件(它们存在)并以默认值开始?

  7. 7

    为什么C标准C11在gcc中不是默认值?

  8. 8

    为什么要推动匹配Git中的默认值?

  9. 9

    为什么在注释中禁止 null 作为默认值?

  10. 10

    在配置文件regex grep中获取值

  11. 11

    为什么RandomForestClassifier中的max_features的默认值与RandomForestRegressor中的默认值不同?

  12. 12

    为什么要在配置文件中声明<mvc:resources>

  13. 13

    为什么要在配置文件中声明<mvc:resources>

  14. 14

    使用JavaScript提交表单-为什么不从表单获取值?

  15. 15

    在猫鼬中,我为对象属性传递什么值以从架构中获取默认值?

  16. 16

    为什么constexpr不是所有函数的默认值?

  17. 17

    为什么`ffmpeg`的`-hide_banner`不是默认值?

  18. 18

    为什么需要“-人类可读”而不是默认值?

  19. 19

    为什么需要默认值呢?

  20. 20

    为什么我无法获取此输入元素的默认值?

  21. 21

    为什么 sys.stdout(在 python 中)没有恢复到默认值的默认方法

  22. 22

    如何从配置文件中获取值并设置在 Laravel 模型文件中的 $attribute 变量中?

  23. 23

    为什么获取编辑文本的值错误NULLPOINTER为什么?

  24. 24

    为什么在JavaScript中无法获取firebaseConfig?

  25. 25

    为什么在基本文件IO中获取数字而不是字符串?

  26. 26

    android中的Calendar对象中仅返回默认值。为什么?

  27. 27

    在C#中,为什么子类字段的默认值不覆盖超类字段的默认值?

  28. 28

    在C#中,为什么子类字段的默认值不覆盖超类字段的默认值?

  29. 29

    为什么无法在标签中获取查询值?

热门标签

归档