Home >Backend Development >PHP Tutorial >Why are different methods used to obtain variables on the controller when the model and view are loaded in the CI framework?
On the model, in order to obtain the variables on the controller, the following code is used:
<code>public function __get($key) { return get_instance()->$key; } </code>
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:
<code>$_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; } }</code>
Why choose different methods for the same purpose? I think the method corresponding to the model is already very good
On the model, the following code is used to obtain the variables on the controller:
<code>public function __get($key) { return get_instance()->$key; } </code>
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:
<code>$_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; } }</code>
Why choose different methods for the same purpose? I think the method corresponding to the model is already very good