2017-10-16 247 views
0

來自CodeIgniter,我決定現在是時候換一種新的東西去Laravel了。我喜歡這個框架的語法和它是多麼的乾淨,但是,我被似乎複雜簡單的東西所壓倒。我有一個控制器,並希望鏈接到所述控制器中的一個功能。無論我做什麼,我不斷收到此錯誤:Laravel 5.5:控制器不存在

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

我用Google搜索這個問題,但我似乎無法推測出來。看起來我已經得到了一切正確,但是再次,我對這個框架完全陌生,所以我不知道。我有一個命名空間,一條路線和所有這些東西。總之,這裏是我的代碼:

鏈接

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

我在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]); 
    } 
} 

感謝您的任何答案,如果你需要更多的信息,請說出來。

+2

嘗試'路線::資源( '任務', '控制器\ TasksController');'因爲您的完整類命名空間/名稱是「App \ Http \ Controllers \ Controller \ TasksController」。或者從命名空間中刪除額外的'Controller'。 – aynber

+0

謝謝!刪除額外的命名空間做到了。我知道我錯了那裏... :) –

回答

2

鑑於您使用的是默認的Laravel安裝,控制器的當前目錄不存在。

嘗試改變

<?php 

namespace App\Http\Controllers\Controller; 

<?php 

namespace App\Http\Controllers; 

在TasksController.php文件

+1

是的,謝謝! aynber已經提出了這個建議。簡直不敢相信。我想這就是在夜晚結束時編程對你的影響:) –

0

您的命名空間(在控制器文件中)是App\Http\Controllers\Controller,應該是App\Http\Controllers