2014-06-13 4 views
1

오류는 컨트롤러가 존재하지 않는다는 것을 알고 있습니다. 코드는 여기 있습니다.Laravel 컨트롤러가 존재하지 않습니다. 분명히 존재합니다.

Route.php

Route::get('mdpay/template', array("uses" => "[email protected]")); 

templateController.blade.php

class templateController extends BaseController { 

    public function index() 
    { 
    echo "made it"; 
    } 


} 

왜이 오류가 될 수 있습니다 클래스 TemplateController이

존재하지 않는 ======= ========== 업데이트 : ================

좋아, 그럼, 내가 올바른 경로를 만들었습니다 amed. 내 파일을 수정하고 클래스 이름을 수정했는데 그 오류가 계속 발생합니다.

파일 이름 :

templateController.php

// File Name: TemplateController.php 
class TemplateController extends BaseController { 
    public function index() 
    { 
     // app/views/myView.blade.php 
     echo "hello"; 
    } 
} 

내 경로는 다음과 같습니다

Route::get('mdpay/template', array("uses" => "[email protected]")); 

여전히 수신 컨트롤러가 오류가 존재하지 않습니다. 내 모든 다른 컨트롤러 (3 다른 사람)이 하나를 제외하고 일하고 있습니다.

+1

'templateController.blade.php'의 이름을'templateController.php'로 변경하면 블레이드가보기가 아니라 컨트롤러가됩니다. – itachi

+0

컨트롤러가 하위 폴더에 있습니까? '\ BaseController'에서 선두의'\'로 확장 해보십시오. – Arda

답변

2

표준 작곡가 클래스 맵 오토로더를 사용하는 경우 새 파일을 만들 때마다 composer dumpautoload해야합니다.

  1. 이 터미널을 열고 composer dumpautoload

으로 실행 TemplateController.php라는 app/controllers에 새 파일을 만듭니다

그래서 Laravel에 의해 주어진 표준 작곡가 설정으로 새 컨트롤러를 만들 수 있습니다 이전 사용자의 경우보기 파일 만 .blade.php으로 끝나야합니다.

+0

고정 된 dumpautoload입니다. 나는 작곡가를 사용하고 있습니다. 컨트롤러가 만들어 질 때마다 나는 필요하다는 것을 깨닫지 못했습니다. 나는 phpstorm에서 원격으로 개발 중이다. – jamadri

+0

이것이 Laravel 5에서 작동합니까? – zygimantus

+0

'composer dumpautoload'가 나를 위해 일했습니다! –

2

그것은해야한다 : 그것에 대해

// File Name: TemplateController.php 
class TemplateController extends BaseController { 
    public function index() 
    { 
     // return "made it"; // or 
     // app/views/myView.blade.php 
     return View::make('myView'); 
    } 
} 

노선하십시오 Blade view에서

Route::get('mdpay/template', array("uses" => "[email protected]")); 

사용 blade, 즉 : 기본적으로 app/views/ 폴더에 저장 myView.blade.php. Laravel 웹 사이트의 blate template에 대해 자세히 알아보십시오.

+0

__imdex__은 나를 낄낄 거리며 만들었습니다 : P. 정확하지만 나중에 알 겠어 ....; p – itachi

+0

롤 ... @itachi, 모두 최고 :-) –

+0

이 픽스를 사용한 후에도 오류가 계속 발생하므로 내 질문과 코드를 업데이트했습니다. 나는 이상하게도 작동하지 않는 3 개의 다른 컨트롤러를 가지고있다. – jamadri

0

컨트롤러는 app/controllers 디렉토리에 있으며 네임 스페이스 구조가없는 한 그대로 있어야합니다.

Class TemplateController does not exist이 발생하는 이유는 첫째, 클래스가 templateController이고 두 번째로 이런 식으로로드되지 않는 templateController.blade.php으로 존재하기 때문입니다.

블레이드 파일은보기 용이며 app/views 또는 사용자 지정보기 디렉토리 내의보기는 .blade.php으로 끝나야합니다.

app/controllers/TemplateController.php 파일을 만들고 다음 코드를 추가하십시오.

class TemplateController extends BaseController { 

    public function index() 
    { 
     echo "made it"; 
    } 

} 

지금 명령 행에 명령 composer dumpautoload을 실행하고 당신 노선 선언을 변경 : 이제

Route::get('mdpay/template', array('uses' => '[email protected]")); 

가해야 모든 작업.

관련 문제