2017-10-16 7 views
0

CodeIgniter에서 출시되었으므로 새로운 무언가가 될 때가되었고 Laravel에갔습니다. 프레임 워크의 구문이 마음에 들지만 그게 얼마나 깨끗한 지 알지만, 복잡한 일이 얼마나 복잡한 지 압도 당합니다. 컨트롤러가있어서 컨트롤러의 기능에 연결하고 싶습니다. 내가하는 일이 무엇이든간에 계속이 오류가 발생합니다.Laravel 5.5 : 컨트롤러가 존재하지 않습니다.

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

저는이 문제를 인터넷으로 봤지만 그걸 알아낼 수 없습니다. 나는 모든 것이 올바르게되어있는 것처럼 보이지만 다시는이 프레임 워크에 완전히 익숙하지 않기 때문에 실제로 알지 못합니다. 네임 스페이스, 경로 및 그 모든 것들이 있습니다. 어쨌든, 여기 내 코드입니다 :

링크

<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.php에

<?php namespace App\Http\Controllers; 

<?php namespace App\Http\Controllers\Controller; 

을 변경해보십시오 ('작업', '컨트롤러 \ TasksController');'때문에 전체 클래스 네임 스페이스/이름은'App \ Http \ Controllers \ Controller \ TasksController'입니다. 또는 네임 스페이스에서 여분의'Controller'를 제거하십시오. – aynber

+0

감사합니다. 추가 네임 스페이스를 제거하면됩니다. 내가 어딘가에 잘못 알고 있다는 것을 알았어 ... :) –

답변

2

기본 Laravel 설치를 사용하는 경우 컨트롤러의 현재 디렉토리가 존재하지 않습니다.

+1

그래, 고마워! 애인 버는 이미이 제안을했습니다. 그렇게 간단하지 않다고 믿을 수 없습니다. 나는 그것이 밤에 프로그래밍이 당신에게하는 것이 무엇인지 추측한다. :) –

0

컨트롤러 파일의 네임 스페이스가 App\Http\Controllers\Controller이고 App\Http\Controllers이어야합니다.

관련 문제