在自定义助手 Codeigniter 4 中加载视图

Load View in Custom Helper Codeigniter 4

在 CI 3 中,我可以像这样在助手中加载视图文件。

if ( !function_exists('render_admin_view') ) {
        function render_admin_view($filename, $data) {
            $ci = &get_instance();
            $dir = $ci->config->item('admin_dir');
            $ci->load->view($dir . 'common/header', $data);
            $ci->load->view($filename, $data);
            $ci->load->view($dir . 'common/menu', $data);
            $ci->load->view($dir . 'common/footer', $data);
        }
}

但在 CI 4 中,当我在我的自定义助手中使用此函数时,它显示以下错误。

Call to undefined function get_instance()

如何在 CI 4 的助手中加载视图文件?

不需要这些。

在 codeigniter 4 中,您需要做的就是:

if ( !function_exists('render_admin_view') ) {
        function render_admin_view($filename, $data) {
            $dir = config('admin_dir');
            echo view($dir . 'common/header', $data);
            echo view($filename, $data);
            echo view($dir . 'common/menu', $data);
            echo view($dir . 'common/footer', $data);
        }
}

有关使用视图的更多信息:https://codeigniter.com/user_guide/outgoing/views.html?highlight=views

如果您想要 return 视图,只需将其存储在一个变量中,然后 return 这些变量的内容。

话虽如此,使用助手加载视图并不理想。你想在你的控制器中这样做。或者,如果您想渲染部分甚至有不同的布局,您应该查看 codeigniter 4 提供的视图布局。