2013-10-04 2 views
0

나의 현재 코드의 네임에 대한 바로 가기가 있습니다 :싱글 톤 클래스를

namespace Libraries; 

class_alias('Libraries\ORM', 'ORM'); 

class ORM 
{ 
    public function __construct() {} 

    static public function someMethod() 
    { 
     // do something 
    } 
} 

내가 위에서 볼 수 있듯이 내가 네임 스페이스 바로 가기 수 있다고 생각, 그래서 단지 ORM::someMethod(); 대신 \Libraries\ORM::someMethod();

의 호출 할 필요

(다른 네임 스페이스에서 ORM 클래스를 사용하고 있는데 'Project'라고 말하면됩니다.)

이것이 가능한가, 아니면 올바른 해결책이 무엇입니까? 클래스를 전역 네임 스페이스에 저장할 수 있다는 것을 알고 있지만 그래도 전역 슬래시 (\)를 사용해야합니다. \ORM::someMethod();.

감사합니다.

답변

5

간단히 alias 당신이 그것을 가져 오는 클래스 명 :

namespace SomethingEntirelyDifferent; 

use Libraries\ORM as ORM; 

ORM::someMethod(); 
+0

사실,하지만 포함 할 필요가 수행'ORM 같은 라이브러리 \ ORM을 사용합니다'모든 파일에 내가 ORM을 사용할 필요가? 다른 방법이 있습니까? – pascalvgemert

+0

아니요, 자동 로더를 직접 만들 수도 있고 프로젝트에서 작곡가를 사용하는 경우 composer.json을 구성하는 작곡가 오토로더를 통해 클래스를 자동로드 할 수도 있습니다 다음을보십시오 : http://www.php.net/manual /en/function.spl-autoload.php http://getcomposer.org – fntlnz

+0

그래, 고마워, 나는 오토로더 물건에 뛰어들 것이다! 도움을 주셔서 감사합니다, 몇 분 안에 대답을 받아 들일 것입니다;) – pascalvgemert

관련 문제