1. PHP의 네임스페이스란 무엇인가요?
2. PHP 네임스페이스를 이해하는 방법
>
참조 방법:
namespace foo; class Foo { public function foo() { return \top\namespace\bar\Bar::fuck(); } }
namespace foo; use top\namespace\bar\Bar; class Foo { public function foo() { return Bar::fuck(); } }
가져오기는 대상을 복사하는 것과 같습니다.
네임스페이스의 존재는 무엇입니까? 다음 두 가지 문제를 해결합니다.
현재 매우 인기 있는 Composer는 네임스페이스 패키지 관리자/종속성 관리자를 기반으로 합니다. 마찬가지로 오늘날 Laravel의 성공은 주로 PHP5.3의 인기에 힘입은 것입니다. , 적시에 일어난 일입니다. https://packagist.org/에서 다운로드할 수 있습니다.
yum, npm 또는 gem과 유사한 작곡가 패키지입니다.
1. 서로 직접 통화하고 같은 가족에 속해 있습니다. 예를 들어, Laravel의 PageController 클래스에서 Page::all()과 같은 코드를 직접 작성하여 호출할 수 있습니다. 둘 다 최상위 네임스페이스에 있기 때문에 페이지 모델입니다.
2. 최상위가 아닌 네임스페이스에 클래스가 있는 경우 해당 클래스만 호출할 수 있습니다. 동일 "참조" 또는 "가져오기"가 필요하지 않은 현재 네임스페이스 아래의 다른 클래스입니다. 모든 하위 네임스페이스는 컨테이너 간의 관계 외에는 특별한 관계가 없는 또 다른 네임스페이스, 또 다른 컨테이너입니다.
3. PHP에는 고급 기능이 있지만 Laravel은 자동 로딩(autoload)을 위해 classmap 메소드를 사용합니다. , 그러나 이것은 단지 논리적 관계일 뿐이므로 요구 파일은 여전히 필요합니다. 이 클래스와 파일 사이의 해당 관계는 /vendor/composer/autoload_classmap.php에 존재합니다. , Composer dump-autoload는 매번 다시 컴파일되고 생성됩니다. 출처: http://lvwenhan.com/php/401.html