2017-12-20 45 views
0

이것은 매우 기본적인 것이지만 나를 미치게합니다. 바로 시작시 laracast 비디오 https://laracasts.com/series/laravel-from-scratch-2017/episodes/24, 제프리 유형 web.php에Laravel의 정의되지 않은 클래스 앱

App::bind(..... 

합니다.

저는 Laravel 5.4를 새로 설치했습니다. 입력 한 경우 App :: bind

"undefined class App"이 표시됩니다. 나는 전체 경로 이름을

\Illuminate\Support\Facades\App::bind 

을 줄 경우 메소드 바인딩은 \를 분명히 \ 지원 \ 외관에서 찾을 수 없습니다 말했다.

내가 뭘 잘못하고있어. 나는 Facades가 모두 자동으로 등록되었다고 생각했다.

+0

죄송합니다. PHPStorm은 외관이 존재하지 않는다고 말하고 있습니다. PHPStorm이 facades를 해결할 수 없기 때문에 IDE-Helper를 설치해야합니다. 코드 예제를 완료하고 실제로 작동하지만 PHPStorm 코딩 오류를 모두 무시해야합니다. –

+0

다음을 확인하십시오 : https://stackoverflow.com/questions/37419143/undefined-class-route-laravel-in-phpstorm –

+0

응용 프로그램에 Laravel IDE 도우미를 'ServiceProvider'로 추가해야합니다. 'app/config/app.php 파일'에서'providers '엘리먼트 아래에'Barryvdh \ LaravelIdeHelper \ IdeHelperServiceProvider'를 추가하고'artisan ide-helper : generate' 명령을 실행하십시오! 이렇게하면 문제가 해결됩니다. –

답변

0

전체 App 네임 스페이스를 사용할 필요가 없습니다. 당신은 App은 외관

+0

Jeffery는 App :: bind 만 입력합니다. \ App :: bind를 입력해야하는 이유는 무엇입니까? –

+0

''App '=> Illuminate \ Support \ Facades \ App :: class'는'config/app.php'의'aliases' 배열에 있습니까? –

+0

예, 별칭 배열에는 App이 포함되어 있습니다. 내가 말했듯이 이것은 새로 설치 한 것입니다. 아무 일도하지 않았다. 매우 이상합니다. –

1

대신 App::bind() 외관의 app() 도우미를 사용하거나 \App::bind() 전체 네임 스페이스를 사용할 수 있기 때문에 \App::bind를 사용해야합니다.

또한 실제로는 web.php에서하지 말고 대신 서비스 제공 업체를 이용하십시오.

https://laravel.com/docs/5.5/container

+0

Jeffery 유형에만 App :: bind가 있습니다. 왜 내가 \ App :: bind를 입력하거나 헬퍼 함수를 ​​사용해야합니까? web.php에서 비디오 데모를 수행하지 않는 것에 대해 알고 있습니다. :-) –