Это интересно, я никогда не использовал его таким образом, но вы правы, он не должен этого делать, возможно, это какой-то вариант кэширования.В худшем случае вы должны назвать это так:
$this->load->view('test_view', '');
Редактировать:
Я только что проверил код Code Igniter из их хранилища.Причина этого в том, что они действительно кэшируют переменные:
/*
* Extract and cache variables
*
* You can either set variables using the dedicated $this->load_vars()
* function or via the second parameter of this function. We'll merge
* the two types and cache them so that views that are embedded within
* other views can have access to these variables.
*/
if (is_array($_ci_vars))
{
$this->_ci_cached_vars = array_merge($this->_ci_cached_vars, $_ci_vars);
}
extract($this->_ci_cached_vars)
Если я правильно понял, вы должны сделать это, к сожалению, так:
$this->load->view('test_view', array('what' => ''));