2017-10-16 7 views
0

Kommend von CodeIgniter, entschied ich, dass es Zeit für etwas Neues ist und ging für Laravel. Ich liebe die Syntax des Frameworks und wie sauber es ist, aber ich bin überwältigt davon, wie kompliziert einfache Dinge zu sein scheinen. Ich habe einen Controller und möchte mit einer Funktion in diesem Controller verknüpfen. Was immer ich tue, ich erhalte immer diese Fehlermeldung:Laravel 5.5: Controller existiert nicht

ReflectionException in Route.php line 280: 
Class App\Http\Controllers\TasksController does not exist 

Ich habe dieses Problem gegoogelt, aber ich kann einfach nicht scheinen, um es herauszufinden. Es scheint, als ob ich alles richtig gemacht habe, aber dann wieder, ich bin völlig neu in diesem Framework, also weiß ich es nicht wirklich. Ich habe einen Namensraum, eine Route und all das Zeug. Wie auch immer, hier ist mein Code:

Der Link

<a class="nav-link" href="<?= url('tasks') ?>">Tasks</a> 

Mein Weg in routes.php

Route::resource('tasks', 'TasksController'); 

TasksController.php

<?php 

namespace App\Http\Controllers\Controller; 

use App\User; 
use App\Http\Controllers\Controller; 

class TasksController extends Controller 
{ 
    public function index() 
    { 
     $tasks = DB::table('tasks')->get(); 
     return view('tasks', ['tasks' => $tasks]); 
    } 
} 

Danke für alle Antworten und wenn Sie brauchen mehr Informationen, bitte sagen Sie es.

+2

Try 'Strecke :: Ressource-Datei zu ändern ('Aufgaben', 'Regler \ TasksController');' weil Ihr vollständiger Klassen-Namespace/Name lautet 'App \ Http \ Controllers \ Controller \ TasksController'. Oder entfernen Sie den zusätzlichen 'Controller' aus Ihrem Namensraum. – aynber

+0

Danke! Das Entfernen des zusätzlichen Namespace hat es getan. Ich wusste, dass ich es irgendwo falsch gemacht habe ... :) –

Antwort

2

Da die Standard-Laravel-Installation verwendet wird, ist das aktuelle Verzeichnis der Controller nicht vorhanden.

Versuchen

<?php 

namespace App\Http\Controllers\Controller; 

zu

<?php 

namespace App\Http\Controllers; 

in Ihrem TasksController.php

+1

Yup, danke! aynber hat diesen Vorschlag bereits gemacht. Ich kann nicht glauben, dass es so einfach war. Ich schätze, das ist es, was dir das Programm am Ende der Nacht macht :) –

0

Ihr Namespace (in der Controller-Datei) ist und sollte App\Http\Controllers sein.

Verwandte Themen