У меня есть бесплатный установленный экземпляр Cakephp 3.0 с несколькими примерами кода, все работает нормально. Теперь я хочу, чтобы создать компонент Auth в ./src/Auth, касающиеся документации hereКомпонент Auth в Cakephp 3.0
Вот мой код:
<?php
namespace App\Auth;
use Cake\Auth\BaseAuthenticate;
class AlephAuthenticate extends BaseAuthenticate
{
public function authenticate(Request $request, Response $response)
{
// Do things for OpenID here.
// Return an array of user if they could authenticate the user,
// return false if not.
}
}
В AppContoller.php я инициализировать этот компонент:
public function initialize() {
$this->loadComponent('Auth');
$this->Auth->config('authenticate', ['Aleph']);
}
Вызов URL-адреса приложения в браузере показывает:
Неустранимая ошибка: декларация App \ Auth \ AlephAuthenticate :: authenticate() должна быть совместима с Cake \ Au th \ BaseAuthenticate :: authenticate (Cake \ Network \ Request $ request, Cake \ Network \ Response $ response) в /var/www/art/src/Auth/AlephAuthenticate.php в строке 7
Любая идея в чем тут ошибка ?
Спасибо!
Christoph
Googeling сообщение об ошибке - вот что я сделал какое-то время. Вопрос для меня в том, что здесь точно не соответствует. Аутентификация метода определяется в классе BaseAuthorize.php: абстрактная публичная функция authorize ($ user, Request $ request); – Christoph
Добавьте пространства имен сверху: используйте Cake \ Network \ Request; и ответ. Потому что просто запрос не известен внутри вашего пространства имен. Это сделает его доступным только как «Запрос». http://php.net/manual/en/language.namespaces.php – burzum
Теперь это работает! Спасибо! – Christoph