저는 Slim PHP를 내 응용 프로그램의 하위 프레임 워크로 사용하고 있으며, 클래스로드를 위해 작곡가 autoload를 사용하고 있습니다.PSR-4 Autoloader가 하위 폴더 구조의 클래스를 인식하지 못합니다.
"psr-4": {
"App\\": "app/classes/"
}
내 모든 클래스 /응용 프로그램/클래스/ 폴더에 있습니다 작곡가에서 나는이 PSR-4 구성을 가지고있다.
내 수업 폴더에는 공통 클래스가 있지만 하위 폴더에는 모듈 별 클래스가 있습니다. 내가 파일이 office.php 불렀다 ../classes/office/ 내 하위 폴더에서
namespace App;
class connect
{
public function authenticate(){
office\AuthenticationManager::acquireAppToken(200);
}
}
: 내가 해당 네임 스페이스에서이 방법을 데 내 ../classes/connect.php 파일에서
이 방법 : 상기 방법은
../classes/api.php에 위치하는 다른 방법을 호출namespace App\office;
class AuthenticationManager
{
public function acquireAppToken($tid)
{
\App\APIManager\RequestManager::sendPostRequest();
}
}
해당 파일 네임 스페이스는 0123이다
"\ 응용 프로그램 \ APIManager \ RequestManager"을 (를) 찾을 수 없습니다 ... 나는 이미 시도작곡가 dump-으로이 문제를 해결하기 위해 :
namespace App\APIManager;
문제는 내가 다음과 같은 오류가이 마지막 방법에 호출 할 때이다 자동로드,하지만 도움이되지 않았다. 이 오류가 발생하는 이유는 무엇입니까?
다른 클래스의 정적 함수를 별도의 네임 스페이스에있는 나쁜 연습이라고 부릅니다. 의존성 주입을 이용하는 것이 훨씬 낫다. – ArtisticPhoenix