Решил пройти туториал по последней версии cakephp (3.5.14). Но при попытке сделать метод проверки авторизации, IDE предуприждает о ошибке
Return type declaration must be compatible with Controller->isAuthorized(user):bool
В заголовке вашего вопроса из 4х слов верными в принципе являются только одно - предупреждение. В целом ошибки тут нет, как к таковой авторизации это все не относится, да и cakephp особо ни при чем.
Читайте что говорит вам среда разработки:
Return type declaration must be compatible with Controller->isAuthorized(user):bool
Надо всего лишь прочитать, перевести и понять, о чем речь. А говорится, что
декларация возвращаемого типа должна быть совместима с Controller->isAuthrorized($user):bool.
Ключевое тут, декларация возвращаемого типа. И вам приведен пример ... :bool, а где у вас декларация типа результата? Ее нет, отсюда и ошибка, или как сказано в самом начале - предупреждение. Причем предупреждение среды, пхп вам вообще ничего не скажет об этом, т.к. с точки зрения языка тут ошибок нет.
Объявление типов возвращаемых значений
В PHP 7 добавлена возможность объявлять тип возвращаемого значения. Аналогично объявлению типов аргументов можно задать тип значения, которое будет возвращаться функцией. Типы, которые можно объявить для возвращаемых значений те же, что и для аргументов функций.
В целом класс Controller вообще не имеет метода isAuthorized. Он делегируется AuthComponent (magic-метод так сказать). PhpStorm тут ссылается на аннотацию к классу Controller:
* @method bool isAuthorized($user)
а в самом классе Cake\Controller\Component\AuthComponent объявление метода имеет следующий вид
public function isAuthorized($user = null, ServerRequest $request = null)
В общем можете игнорировать данное оповещение среды. Особенно в условиях, что это magic-метод.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости