2015-09-21 4 views
5

ich mit CakePHP ver3.1.3

erlebt bin nicht kompatibel sein

ich die Anweisungen befolgt Login Authentifizierungsfunktion zu implementieren ; http://book.cakephp.org/3.0/en/tutorials-and-examples/blog-auth-example/auth.html

Ich schaffte erfolgreich Kuchen backen meine CakePHP V3.1.3 App.

Ich habe ein Problem mit UsersController.php

Ich habe den folgenden Code kopiert und eingefügt von http://book.cakephp.org/3.0/en/tutorials-and-examples/blog-auth-example/auth.html;

public function beforeFilter(Event $event) 
{ 
    parent::beforeFilter($event); 
    // Allow users to register and logout. 
    // You should not add the "login" action to allow list. Doing so would 
    // cause problems with normal functioning of AuthComponent. 
    $this->Auth->allow(['add', 'logout']); 
} //public function beforeFilter(Event $event) 

Das Vorhandensein dieses Codes erstellt den Fehler unten;

Strenge (2048): Erklärung App \ Controllers \ Userscontroller :: before() kompatibel mit App \ Controllers \ AppController :: before (Kuchen \ Ereignis \ Ereignis $ event) sein sollte [APP/Controller \ UsersController.php, Zeile 12] Code Kontext include - APP/Controller \ UsersController.php, Zeile 12 Composer \ Autoload \ includeFile - ROOT \ Hersteller \ Komponist \ ClassLoader.php, Zeile 412 Composer \ Autoload \ ClassLoader: : loadClass() - ROOT \ vendor \ composer \ ClassLoader.php, Zeile 301 spl_autoload_call - [intern], Zeile ?? class_exists - [intern], Zeile ?? Kuchen \ Core \ App :: _ KlasseExistsInBase() - CORE \ src \ Kern \ App.php, Linie 89 Kuchen \ Core \ App :: className() - CORE \ src \ Kern \ App.php, Linie 66 Kuchen \ Routing \ Filter \ ControllerFactoryFilter :: _ getController() - CORE \ src \ Routing \ Filter \ ControllerFactoryFilter.php, Zeile 81 Kuchen \ Routing \ Filter \ ControllerFactoryFilter :: beforeDispatch() - CORE \ src \ Routing \ Filter \ ControllerFactoryFilter.php, Zeile 49 Kuchen \ Routing \ DispatcherFilter :: handle() - CORE \ src \ Routing \ DispatcherFilter.php, Linie 145 Kuchen \ Event \ EventManager :: _ callListener() - CORE \ src \ Event \ EventManager.php, Zeile 389 Kuchen \ Event \ EventManager :: dispatch() - CORE \ src \ Event \ EventManager.php, Zeile 355 Cake \ Routing \ Dispatcher :: dispatchEvent() - CORE \ src \ Ereignis \ EventDispatcherTrait.php, Zeile 78 Kuchen \ Routing \ Dispatcher :: dispatch() - CORE \ src \ Routing \ Dispatcher.php, Zeile 62 [main] - ROOT \ webroot \ index.php, Zeile 37

Wenn ich das fehlerhafte Code-Segment entferne, verschwindet der Fehler. Was stimmt nicht mit dem Code-Segment?

+3

mögliche Duplikate von [Erklärung der Methoden sollte mit übergeordneten Methoden in PHP kompatibel sein] (http://stackoverflow.com/questions/3115388/declaration-of-methods-should-be-compatible-with-parent-methods-) in-php) – burzum

+2

* Lesen * die Fehlermeldung. Es sagt dir schon ziemlich deutlich was falsch ist. Wenn du es immer noch nicht verstehen kannst, versuche es zu suchen. Dies ist eine Standard-PHP-Nachricht und wurde 1000 mal zuvor auf Stackoverflow gefühlt. Ich habe dafür gestimmt, es aus diesem Grund als Duplikat zu schließen. – burzum

+0

@ burzum, danke.Lass mich genauer hinschauen. – user781486

Antwort

19

Die Lösung ist die folgende Zeile UsersController.php

use Cake\Event\Event; 

der Kuchen gebacken Version nicht über die obige Zeile hinzuzufügen.