Laravel: Controller ist nicht vorhanden
Ich neue controller /app/controllers/admin/- Ordner Hinzugefügt und die route in /app/routes.php Datei als gut. Dann habe ich den folgenden Befehl ausführen, um die automatisch zu laden Sie
php artisan dump-autoload
Bekam ich die folgende Fehlermeldung
Mcrypt PHP extension required.
Folgte ich die Anweisungen auf https://askubuntu.com/questions/460837/mcrypt-extension-is-missing-in-14-04-server-for-mysql und lösen können, die mcrypt Problem.
Nach, dass ich das php artisan dump-autoload
- Befehl, aber noch immer folgende Fehlermeldung
{"error":{"type":"ReflectionException","message":"Class CoursesController does not exist","file":"\/var\/www\/html\/vendor\/laravel\/framework\/src\/Illuminate\/Container\/Container.php","line":504}}
Hier ist der code meiner routes.php Datei
Route::group(array('before' => 'adminauth', 'except' => array('/admin/login', '/admin/logout')), function() {
Route::resource('/admin/courses', 'CoursesController');
Route::resource('/admin/teachers', 'TeachersController');
Route::resource('/admin/subjects', 'SubjectsController');
});
Hier ist der code, der CoursesController.php Datei
<?php
class CoursesController extends BaseController
{
public function index()
{
$courses = Course::where('is_deleted', 0)->get();
return View::make('admin.courses.index', compact('courses'));
}
public function create()
{
return View::make('admin.courses.create');
}
public function store()
{
$validator = Validator::make($data = Input::all(), Course::$rules);
if ($validator->fails()) {
$messages = $validator->messages();
$response = '';
foreach ($messages->all(':message') as $message) {
$response = $message;
}
return Response::json(array('message'=>$response, 'status'=>'failure'));
} else {
Course::create($data);
return Response::json(array('message'=>'Course created successfully','status'=>'success'));
}
}
public function edit($id)
{
$course = Course::find($id);
return View::make('admin.courses.edit', compact('course'));
}
public function update($id)
{
$course = Course::findOrFail($id);
$validator = Validator::make($data = Input::all(), Course::editRules($id));
if ($validator->fails()) {
$messages = $validator->messages();
$response = '';
foreach ($messages->all(':message') as $message) {
$response = $message;
}
return Response::json(array('message'=>$response, 'status'=>'failure'));
} else {
$course->update($data);
return Response::json(array('message'=>'Course updated successfully','status'=>'success'));
}
}
public function destroy($id)
{
Course::findOrFail($id)->update(array('is_deleted' => '1'));
return Response::json(array('message'=>'Course deleted successfully','status'=>'success'));
}
}
Können Sie bitte post-der code befindet sich in CoursesController.php
Ich habe den code Hinzugefügt. Dieses Problem gehört zu unserem staging-server, aber es funktioniert auf meinem lokalen system
Ich habe den code Hinzugefügt. Dieses Problem gehört zu unserem staging-server, aber es funktioniert auf meinem lokalen system
InformationsquelleAutor neeraj | 2015-02-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie Hinzugefügt autoload classmap an den Komponisten.json-Datei?
Öffnen Sie Ihren Komponisten.json-Datei und fügen Sie
wenn Sie Ordner hinzufügen, inside Controller, müssen Sie es an den Komponisten.json-Datei. Dann laufen
ODER ALTERNATIVE
gehen app/start/global.php und fügen Sie
versuchen Sie dies: extends \BaseController
Es funktioniert durch das hinzufügen von admin-Ordner in global.php aber meine Frage ist, warum ist es Arbeit für andere neu hinzugefügte Controller ?
"Komponist dumpautload" sollte gearbeitet haben, oder Sie benötigt "composer update". Manchmal habe ich klar aus app/storage/Ansichten, Ordner und es funktioniert.
composer dumpautoload
war mein problemInformationsquelleAutor Sushant Aryal
Müssen wir schaffen-Steuerung über die Kommandozeile.
php artisan make:controller nameController --plain
.Bevor Laravel 5, make-namespace nicht verfügbar. Stattdessen arbeitet
php artisan controller:make nameController
Ausführen Ihren Befehl in Ihrem Projekt-Verzeichnis, und erstellen Sie dann Ihre Funktion.
InformationsquelleAutor Balasubramanian
In meinem Fall, in der Spitze von meinem controller-code habe ich folgende Zeile hinzufügen :
und mein problem ist gelöst
InformationsquelleAutor Baim Wrong
Ich glaube, dein problem wurde bereits behoben. Aber das ist, was es Tat.
Struktur
damit dies funktioniert
in der route-Datei: stellen Sie sicher, dass Sie den richtigen Namen Raum
für zB:
Auch vergessen Sie nicht, verwenden Sie
namespace App\Http\Controllers\CustomControllerFolder
im controller.Dass sollte das Problem beheben.
Dank
InformationsquelleAutor usrNotFound
Vergessen Sie nicht zu tun:
php artisan route:clear
In meinem Fall war die Lösung bei mir kam dieser Fehler nach einer route-code ändern.
InformationsquelleAutor leo
Manchmal vermissen wir
namespace App\Http\Controllers;
ganz oben auf unserer controller-code.InformationsquelleAutor Aaron Liu
Ich hatte gerade dieses Problem, weil ich umbenannt in eine Datei aus
EmployeeRequestContoller
zuEmployeeRequestsContoller
, aber wenn ich es umbenannt habe ich die.php
Erweiterung!Wenn ich reran
php artisan make:controller EmployeeRequestsContoller
nur um sicherzugehen, dass ich nicht verrückt geworden war und die Datei auftauchte, konnte ich deutlich sehen, die Fehler:Stellen Sie sicher, dass Sie die Erweiterung, wenn Sie umbenannt haben!
InformationsquelleAutor haakym