访问控制器';s函数


Accessing controller's function

我正在使用Codeigniter框架开发一个网站。我目前正在视图文件夹下处理home.php视图。我需要使用其中一个控制器中的UserInfo()函数。有什么关于如何访问该功能的建议吗?

class Welcome extends CI_Controller {
            public function UserInfo(){
            $this->load->model('model_user');                
            $data['title'] = 'Users';              
            $data['users'] = $this->model_user->getUser();              
            $this->load->view('template/users', $data);
        }
}

不能在另一个控制器内调用控制器方法。没有办法做到。

你有两种方法来解决这个问题

  1. 如果您想访问位于控制器,将其添加到模型中。因此,通过加载模型,您可以调用它
  2. 如果只需要调用函数,请使用redirect('welcome/UserInfo')

As您想在其他控制器中调用控制器函数。在codeigniter App文件夹core文件夹中,您制作了一个自定义核心controller,所有其他控制器都使用您的自定义控制器进行扩展

在您的自定义Core控制器中

class CustomCore extends CI_Controller
{
     /* ---YOUR FUNCTION IN CUSTOMCORE---- */
      public function mycorefunc()
      {
           //Do something
      }
}

和您的所有其他控制器扩展自定义核心

class YourController extends Customcore
{
      function controllerfunction()
      {
            $this->mycorefunc();// Call corefunction 
      }
}