CodeIgniter控制器调用未定义方法getRequestInput()报错求助
解决Call to undefined method App\Controllers\Main::getRequestInput()报错
报错原因是你调用的getRequestInput()方法在当前控制器或父类BaseController中并未定义。在CodeIgniter 4框架中,获取请求输入无需自定义该方法,直接使用框架自带的请求对象方法即可。
修改后的控制器代码如下:
class Main extends BaseController { public function registration() { $rules = [ 'name' => 'required' ]; // 获取所有请求类型的输入数据,若仅需POST数据可改用$this->request->getPost() $input = $this->request->getVar(); if (!$this->validate($input, $rules)) { return $this->getResponse( $this->validator->getErrors(), ResponseInterface::HTTP_BAD_REQUEST ); } // 后续业务逻辑代码... } }
补充说明:
- CodeIgniter 4自带
validate()方法,无需自定义validateRequest()(除非有特殊业务需求)。 - 确保你的
BaseController正确继承了框架的\CodeIgniter\Controller或\CodeIgniter\BaseController,框架会自动注入request对象,无需手动实例化。
内容的提问来源于stack exchange,提问作者Claudius Massery
相关产品推荐
相关产品推荐

