CodeIgniter:无法在视图中访问函数

Cas*_*eTA 3 php codeigniter

我正在使用CodeIgniter,我的一个视图变得非常大,所以我在一个函数中移动了一些代码在同一个文件中:

function html_stuff()
{
    $posts = $this->db->query('select * from posts');
}
Run Code Online (Sandbox Code Playgroud)

当我运行此代码时,我收到以下错误:

致命错误:在/somepath/view.php中不在对象上下文中时使用$ this

Pet*_*tah 7

你可以通过这个功能 $this

function html_stuff($ci) {
    $ci->db->query('select * from posts');
}
html_stuff($this);
Run Code Online (Sandbox Code Playgroud)

或者使用 get_instance()

function html_stuff() {
    $ci = &get_instance();
    $ci->db->query('select * from posts');
}
Run Code Online (Sandbox Code Playgroud)

请参阅:https://www.codeigniter.com/user_guide/general/creating_libraries.html