나는 laravel에서 네임 스페이스로 고심하고있다. 나는 laravel new를 한 후에 프로젝트를위한 표준 폴더 구조를 가지고있다. 그래서 나는 모든 내 데이터 액세스 클래스를 넣어 응용 프로그램 폴더에 DATAACCESS라는 폴더를 추가 그래서 다음과 같은 구조를 가지고 :Laravel 5.2 namespace
PROJECTDIR> 응용 프로그램> DATAACCESS> dataaccessclasses (파일)
내 모든 DATAACCESS 클래스가 모든 클래스의 맨 위에있는 네임 스페이스 App (나는 이것을 단순하게 만들었습니다). 이제 내 컨트롤러에서 나는 내 DATAACCESS 클래스를 사용할 수 있도록 나는 정상에 이것을 추가 :
<?php use App; ?>
을하지만 Laravel은 내 DATAACCESS 클래스를 찾을 수 있음을 알려줍니다 및 컨트롤러의 네임 스페이스가 상대적으로 해결하려고합니다. Container.php 라인 794에
ReflectionException : 앱 \ HTTP를 \ 컨트롤러 StockDataAccess이 존재하지 않는 \ 클래스 여기 나를 뱉어 오류입니다.
이 모든 것이 무엇을 의미하는지 알 수 있습니다. 기본적으로
이를 시도 덤프 그것과 그것은 여전히 같은 오류로 끝납니다. 나는 이것이 의미하는 바를 이해하기 위해 psr-4에 대해 읽었지만 슬프게도 그녀는 일하지 않고 있다고 말했다. –
@Eagletrophy : 그것은 당신에게 같은 오류를 준다? 컨트롤러에서'use App \ dataaccess \ dataaccessclasses \ StockDataAccess;'를 사용한다면 적어도 그 디렉토리에있는 클래스를 찾아야하므로 다른 에러가 발생합니다. PSR-4의 경우 예를 들어 앱 폴더 (예 : http/middleware ecc.)의 기존 Laravel 클래스를 살펴보면 모든 클래스의 네임 스페이스가 항상 클래스 파일 경로에 종속된다는 것을 알 수 있습니다. – Moppo
나는 당신이 방금 설명했던 것에 반대하며 나는 여전히 같은 것을 얻고있다. php-fig를 사용하여 PSR-4 문서를 살펴본 후에도 여전히 내 오류가 어디에 있는지 알지 못하기 때문에 이것은 정말 실망 스럽습니다. 컨트롤러에 내 데이터 액세스 코드를 작성하고 이런 식으로 작업하는 것을 잊어 버리겠습니다. 그러나 이것은 나에게 laravel 버그가 창이나 다른 경로의 경로를 제대로 해석 할 수 없다는 느낌을줍니다. 어쨌든 도와 주셔서 감사합니다 moppo –