CodeIgniter代码分析请教

byhard 发布于 2012/07/30 11:22
阅读 841
收藏 0

if (isset($assign_to_config['subclass_prefix']) AND $assign_to_config['subclass_prefix'] != '')
	{
		get_config(array('subclass_prefix' => $assign_to_config['subclass_prefix']));
	}

CI中标准CodeIgniter.php有上面这段代码。其中变量 $ assign_to_config我找不到在哪里定义呢。if判断内的get_config会执行吗?请指点下啦!

加载中
0
justjavac
justjavac

这个定义在 system/core/Config.php中,

/**
 * Assign to Config
 *
 * This function is called by the front controller (CodeIgniter.php)  * after the Config class is instantiated.  It permits config items
 * to be assigned or overriden by variables contained in the index.php file
 *
 * @access	private
 * @param	array
 * @return	void
 */
function _assign_to_config($items = array())
{
    if (is_array($items))
    {
        foreach ($items as $key => $val)
        {
            $this->set_item($key, $val);
        }
    }
}

注意我标红的注释

在 system/core/CodeIgniter.php 文件中:

if (isset($assign_to_config))
{
	$CFG->_assign_to_config($assign_to_config);
}

调用函数对它赋值。

justjavac
justjavac
你学php多久了?
justjavac
justjavac
回复 @byhard : php变量不用定义,而且,这个是数组。那个函数里面就是对他的赋值『对数组里面的元素赋值』。
byhard
byhard
但是这个变量$assign_to_config一直没有定义,最初在哪定义或赋值我没有找到哇。谢谢!
0
byhard
byhard

引用来自“justjavac”的答案

这个定义在 system/core/Config.php中,

/**
 * Assign to Config
 *
 * This function is called by the front controller (CodeIgniter.php)  * after the Config class is instantiated.  It permits config items
 * to be assigned or overriden by variables contained in the index.php file
 *
 * @access	private
 * @param	array
 * @return	void
 */
function _assign_to_config($items = array())
{
    if (is_array($items))
    {
        foreach ($items as $key => $val)
        {
            $this->set_item($key, $val);
        }
    }
}

注意我标红的注释

在 system/core/CodeIgniter.php 文件中:

if (isset($assign_to_config))
{
	$CFG->_assign_to_config($assign_to_config);
}

调用函数对它赋值。

$assign_to_config应该是用户自定义的一些配置,在index.php设置。最后的if判断是否这样理解,如果$assign_to_config定义了,把它加到已有配置信息$CFG对象的config[]成员里面,如果没有定义就不加入。看来我是钻入$assign_to_config变量了,实际上这个变量没有被定义。我学php语言没多久呢,一直学的C#.NET,现在想通过学习框架学习php,谢谢你的帮助。
返回顶部
顶部