cakephp предупреждение о ошибке авторизации

142
27 марта 2018, 02:21

Решил пройти туториал по последней версии cakephp (3.5.14). Но при попытке сделать метод проверки авторизации, IDE предуприждает о ошибке

Return type declaration must be compatible with Controller->isAuthorized(user):bool

Answer 1

В заголовке вашего вопроса из 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-метод.

READ ALSO
api instagram php

api instagram php

Работаю с api instagram в php, так вот мне нужно получить данные о пользователеВ оф

154
Добавление слайдера на каждую страницу

Добавление слайдера на каждую страницу

Есть сайт в котором около 100 страниц, сайт на WordpressПроблема в следующем, для каждой странице хочется вывести в шапке картинку, видео или слайдер

144
Обращение к свойству объекта с @ в имени

Обращение к свойству объекта с @ в имени

Добрый день уважаемое сообщество!

120