在 ThinkPHP5 中,不建议在一个 Controller 类的方法中直接调用另一个 Controller 类的方法。控制器(Controller)的作用是接收用户请求,处理业务逻辑,然后返回响应,而不应该直接调用其他控制器的 方法。\n\n如果需要在一个 Controller 类的方法中复用另一个 Controller 类的逻辑,可以将被复用的逻辑抽取为一个公共方法,然后在多个 Controller 类中调用这个公共方法。\n\n下面是一个示例:\n\nphp\nnamespace app\controller;\n\nclass ControllerA\n{\n public function index()\n {\n // 调用公共方法\n $result = $this->commonLogic();\n\n // 处理自己的业务逻辑\n // ...\n\n return $result;\n }\n\n private function commonLogic()\n {\n // 公共逻辑\n // ...\n\n return $result;\n }\n}\n\nclass ControllerB\n{\n public function index()\n {\n // 调用公共方法\n $result = $this->commonLogic();\n\n // 处理自己的业务逻辑\n // ...\n\n return $result;\n }\n\n private function commonLogic()\n {\n // 公共逻辑\n // ...\n\n return $result;\n }\n}\n\n\n在上面的示例中,两个 Controller 类都有一个 commonLogic 方法,可以在各自的方法中调用该方法实现代码复用。

ThinkPHP5 中如何复用 Controller 类方法

原文地址: https://www.cveoy.top/t/topic/py7U 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录