在Codeigniter控制器中,在函数B内调用函数A

21

我有一个控制器,大约有5-6个功能。

class Register extends CI_Controller {
public function index()
{
  //  some code written
}    
public function Add()
{
  //  Some code written
}
public function xyz()
{
  //  Some code written
  $this->abc();
}
public function abc()
{
  // Some code written
}
}

xyz函数中,我想调用abc函数。 这是否可能?如果可以的话,如何调用它?


你为什么认为这是不可能的?你甚至尝试过吗? - Hanky Panky
是的,我尝试了这段代码,但没有运行。 - Vaibhav Singhal
1个回答

42

可能性是存在的,您编写的代码是正确的

public function xyz()
{
  //  Some code written
  $this->abc();     //This will call abc()
}

编辑:

你是否正确地尝试过这个?

class Register extends CI_Controller {
    public function xyz()
    {
      $this->abc();
    }
    public function abc()
    {
      echo "I am running!!!";
    }
}

并调用register/xyz


可以在不同的控制器中调用另一个控制器的函数吗?@Saravanan - always-a-learner
@always-a-learner,你可以参考这个问题https://dev59.com/RWYq5IYBdhLWcg3w0T5y。作为最佳实践,如果你有一些通用的代码需要被两个控制器访问,那么将其移动到库中,并从每个控制器中访问该库。 - Saravanan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接