我可以在 CodeIgniter Controller 中编写单一方法来处理 GET 和 POST 登录表单吗?

Can i write single method in CodeIgniter Controller to handle both GET and POST login form?

在 Web 应用程序中,我们使用 POST,在 IPAD 中,我们使用 GET 来提交表单详细信息。但是我在我的 CodeIgniter 控制器中写了 GET 和 POST 方法。但这不好,因为我在 Cotroller 中两次维护相同的代码? 当前代码:

class LoginHandle extends REST_Controller
{
  public function authenticate_post()
  {}
  public function authenticate_post()
  {}
}

Is is possible some thing like following?

class LoginHandle extends REST_Controller<br>
{
   public function authenticate_get_post()
   {}

}

如我所料,没有太多要检查的表单项 - 您可以像这样使用(假设 PHP7+)?? 运算符:

$username = $_POST['User'] ?? $_GET['User']; $password = $_POST['Pass'] ?? $_GET['Pass'];

对于 PHP < 7 你可以使用 ...

$username = !empty($_POST['User']) ? $_POST['User'] : !empty($_GET['User']) ? $_GET['User'] : null; $password = !empty($_POST['Pass']) ? $_POST['Pass'] : !empty($_GET['Pass']) ? $_GET['Pass'] : null;

请参阅:https://www.codeigniter.com/user_guide/libraries/input.html#CI_Input::post_get

$this->input->post_get('key')