2012-11-17 8 views
1

PHP 용 작곡가와 오토로더를 사용하기 시작했습니다. 그런 다음 psr-0을 사용하여 내 자체 코드를 오토로더에 추가했습니다. PDO (새 PDO (...)에 액세스하려는 경우를 제외하고는 모두 괜찮습니다.) Autoloader가 내 패키지 (MyAPP라고 함)에서 예상하기 때문에 범위를 벗어난 것으로 보입니다. 오류 :PDO가 범위를 벗어남 (PHP Composer)

구글에

PHP Fatal error: Class 'MyApp\PDO' not found in /var/www/ws/src/MyApp/WsDatenbank.php on line 15

내 시도는 실패 결국
는 제발 도와주세요 - 감사합니다 사전

답변

2

의 대답은 내 의견을 게시

당신이해야 할 :... new \PDO()가 (슬래시주의)이 일을 할 때 전역 네임 스페이스에 대한 클래스를로드하고 있습니다. 그렇지 않으면 현재 네임 스페이스에서로드됩니다. (귀하의 경우 MyApp).

+0

감사합니다. PSR-4는 다음과 같이 진행됩니다 : class에서'use \ PDO;'이것은 네임 스페이스의 루트'\ PDO '입니다. – vlad

+0

이것이 PSR4와 어떤 관련이 있는지 모르겠습니까? : P – PeeHaa

+0

우리는 autoloading 클래스 맵으로 composer를 사용하고 PDO에 루트 네임 스페이스를 사용했기 때문에. 지금은 잘 작업하십시오. OOP로 작업 할 때. 기타 [작곡가 PSR을 사용하는 이유] (http://stackoverflow.com/questions/22803419/why-use-a-psr-0-or-psr-4-autoload-in-composer-if-classmap-is-actually- 더 빨리) – vlad