CakePHP4 — Как использовать компонент ‘RequestHandler’ в другом компоненте

#cakephp-4.x #requesthandler

#cakephp-4.x #requesthandler

Вопрос:

Сегмент PHP-кода моего компонента показан ниже:

 ...
class NewsletterFormComponent extends Component {

public $components = ['Flash','RequestHandler'];
public $controller;


public function beforeFilter()
{
$this->controller = $this->getController();
}

public function registration($data = null) {
...
if ($this->request->is('post')) {
//do something
}
...
}
...
  

Отображается следующая ошибка:
Вызов функции-члена выполняется () при нулевом значении
Как решить эту проблему?

Комментарии:

1. Вы загрузили компонент RequestHandler, но пытаетесь получить доступ к объекту запроса, а не к RequestHandler.

2. Спасибо за ваш ответ. Как я могу получить доступ к объекту запроса в некоторых компонентах?

3. Объект запроса находится на контроллерах, а не на компонентах. Но у вас есть доступ к контроллеру прямо там. $this->controller->request->... .

4. если ($this-> controller-> GetRequest()-> is (‘post’)) —- спасибо, это решение