"смешанный" Ошибка при попытке расширить HtmlHelper в CakePHP 3

Согласно книге, параметры HtmlHelper:: link выглядят так:

Cake\View\Helper\HtmlHelper::link(string $title, mixed $url = null, array $options = [])

Но когда я пытаюсь расширить помощник следующим образом:

public function link(string $title, mixed $url = null, array $options = []) {

и затем передать массив в $url, я получаю следующую ошибку:

Аргумент 2, передаваемый в App\View\Helper\MyHtmlHelper::link(), должен быть экземпляром App \ View \ Helper \ mixed или null, массив задан в...

Как я могу расширить помощник без этой ошибки?

1 ответ

Решение

Несколько типов, перечисленных в документации, являются подсказками для разработчика, а не тем, что вы должны использовать в своем коде. Если вы посмотрите на фактический API, вы увидите, что реальное определение функции

public function link($title, $url = null, array $options = [])

Используйте это, и вы должны быть в порядке.

Другие вопросы по тегам