我的Codeigniter项目有两个类:用户和个人资料
用户:
class Users extends CI_Controller
{
...
配置文件:
class Profiles extends CI_Controller
{
protected function create_user_profile()
{
....
}
...
当用户控制器创建用户时,应立即创建配置文件。因此,用户中的函数必须调用create_user_profile
函数。现在我的问题是:
如果我公开create_user_profile
,可以通过网址拨打电话。但如果我保护它,那么如何从用户控制器调用它?
有没有比将create_user_profile
从个人档案控制器移动到用户控制器更好的方法?
答案 0 :(得分:2)
尝试制作个人档案库:
库/ profiles.php
class Profiles
{
protected $CI;
public function __construct()
{
$this->CI =& get_instance(); // Existing Code Igniter Instance
}
public function create_user_profile()
{
// Your Code Here
// can communicate back with CI by using $this->CI
// $this->CI->load->view(....);
// $this->CI->load->model(...);
// ETC
}
}
控制器/ users.php
class Users extends CI_Controller
{
public function my_function(){
$this->load->library('profiles');
$this->profiles->create_user_profile();
}
}
答案 1 :(得分:0)
将它放在另一个非Web控制器类中。然后你可以从任何地方重复使用它。