2013-01-07 6 views
6

Ich versuche, meine Controller in Laravel 4. In routes.php Ich habe zu registrieren:Routing-Controller nicht in Laravel 4

Route::get("/","[email protected]"); 
Route::get("search","[email protected]"); 

Nun ist die Heimsteuerung Strecke in Ordnung, aber die Suchsteuerung Route gibt mir ein Fehler:

ReflectionException: Class SearchController does not exist 

jedoch die Klasse tut existieren. Ich habe sogar versucht, einen anderen Sample-Controller zu erstellen, aber ohne Erfolg, da die gleiche Nachricht kam.

Antwort

20

Namen sind Groß-/Kleinschreibung in L4. Und der Methodenname sollte genau übereinstimmen (z. B. getIndex, nicht index()).

Da es auch Komponist Pakete verwendet, werden Sie ausführen müssen: php composer dump-autoload keine neuen Klassen/Controller

+3

Danke! es war ein in der Tat die Komponist Ausgabe – Matanya

+0

Vielen Dank .... – Sushil

2

Ich hatte das gleiche Problem zu erkennen und Komponist dump-autoload hat es nicht lösen.

Ich erkannte, dass meine class-Datei wurde nicht in Vendor/Composer/autoload_classmap.php von Composer generiert deklariert.

Ich löschte den Inhalt des Cache-Ordners. In Linux ist dieser Ordner: ~/.composer/cache und in Windows 7: C: \ Benutzer \\ AppData \ Local \ Composer \ files Wenn bootstrap/compiled.php vorhanden ist, sollte es auch entfernt werden, oder Lauf: php artisan clear-compiled.

Danach habe ich composer.lock und den Herstellerordner entfernt und starte: composer install. Das legte meine Klassendatei in autoload_classmap.php aber die ReflectionException wurde noch geworfen ...

Als letzten Versuch habe ich kopiert und umbenannt einen anderen Controller aus dem Projekt, das bereits verwendet wurde, und das Problem gelöst.

+0

Eine einfache Möglichkeit, das gleiche mit Composer zu tun ist, Referenzen auf den Controller in routes.php auskommentieren, führen Sie '' 'php artisan dump''' und dann entziffern Sie diese Referenzen. – Ulterior