Home  >  Article  >  Backend Development  >  Why are different methods used to obtain variables on the controller when the model and view are loaded in the CI framework?

Why are different methods used to obtain variables on the controller when the model and view are loaded in the CI framework?

WBOY
WBOYOriginal
2016-12-01 00:25:531178browse

On the model, in order to obtain the variables on the controller, the following code is used:

public function __get($key)
{
    return get_instance()->$key;
}

But when loading the view, in order to obtain the variables on the controller, I chose to hang everything on the controller on the loader:

$_ci_CI =& get_instance();
foreach (get_object_vars($_ci_CI) as $_ci_key => $_ci_var)
{
    if ( ! isset($this->$_ci_key))
    {
       $this->$_ci_key =& $_ci_CI->$_ci_key;
    }
}

Why choose different methods for the same purpose? I think the method corresponding to the model is already very good

Reply content:

On the model, the following code is used to obtain the variables on the controller:

public function __get($key)
{
    return get_instance()->$key;
}

But when loading the view, in order to obtain the variables on the controller, I chose to hang everything on the controller on the loader:

$_ci_CI =& get_instance();
foreach (get_object_vars($_ci_CI) as $_ci_key => $_ci_var)
{
    if ( ! isset($this->$_ci_key))
    {
       $this->$_ci_key =& $_ci_CI->$_ci_key;
    }
}

Why choose different methods for the same purpose? I think the method corresponding to the model is already very good

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn