네임스페이스 – 10.오토로딩

네임스페이스 기능을 사용할 규모의 프로그램이라면 개발된 소스가 여러 파일/디렉토리로 분산되어 관리되고 있을 것이며, 외부 라이브러리까지 포함된다면 더욱 많은 소스 파일들이 곳곳에 산재해 있을 것입니다. 이러한 소스들을 필요할 때마다 불러들여 사용해야…

Continue Reading네임스페이스 – 10.오토로딩

네임스페이스 – 09.이름변환규칙

네임스페이스 기능을 적용하게 되면 클래스/함수/상수의 이름은 동일하지만 서로 다른 네임스페이스에 소속될 수 있기 때문에 각 이름이 소속된 네임스페이스를 명확히 지정할 필요가 있습니다. 이름변환규칙name resolution rule '식별자 관련 용어 정리' 글에서…

Continue Reading네임스페이스 – 09.이름변환규칙

네임스페이스 – 08.동적 특성

네임스페이스의 동적 언어 기능 PHP의 네임스페이스는 동적 특성에 영향을 받습니다. 따라서 위 예제와 같은 코드를 네임스페이스 내의 코드로 변환하는 경우, 절대-이름fully qualified name을 사용해야 합니다. 코드상 절대-이름fully qualified name에 선행…

Continue Reading네임스페이스 – 08.동적 특성

네임스페이스 – 07.전역 공간

PHP 5.3 이전의 네임스페이스 PHP 5.3 이전에도 내장된 네임스페이스가 존재하고 있었습니다. test() 함수 내에서 동일한 변수이름 $str이 두 번 사용되고 있지만 하나는 지역 네임스페이스, 다른 하나는 전역 네임스페이스의 이름을 참조합니다.…

Continue Reading네임스페이스 – 07.전역 공간

네임스페이스 – 06.엘리먼트 참조

네임스페이스 엘리먼트 참조 네임스페이스 엘리먼트element인 클래스/함수/상수를 참조할 때도 파일 시스템과 동일한 원리를 적용 할 수 있습니다. 1. 엘리먼트-이름unqualified name 네임스페이스 구분자namespace separator가 없이 네임스페이스 엘리먼트(클래스/함수/상수)의 이름만으로 구성된 식별자identifier입니다. 예를 들어…

Continue Reading네임스페이스 – 06.엘리먼트 참조

네임스페이스 – 05.식별자 관련 용어 정리

임의의 네임스페이스에 생성된 클래스/함수/상수 엘리먼트element는 아래와 같은 형식으로 참조될 수 있습니다. 네임스페이스-식별자\엘리먼트; 아래는 클래스/함수/상수 엘리먼트element가 생성된 서브네임스페이스sub-namespace Debug의 계층 구조를 보여줍니다. 네임스페이스 계층 구조 네임스페이스 엘리먼트(클래스/함수/상수)를 참조할 때, 전역 공간으로부터…

Continue Reading네임스페이스 – 05.식별자 관련 용어 정리

네임스페이스 – 04.use 문, as 연산자

외부 네임스페이스 가져오기 네임스페이스가 지정된 외부 문서를 내 문서로 인클루드include시키면 전체 네임스페이스 이름을 참조할 수 있습니다. use 문 use 문을 이용하면 위와 같은 복잡한 계층hierarchy의 네임스페이스 이름을  짧은 이름으로 참조할…

Continue Reading네임스페이스 – 04.use 문, as 연산자

네임스페이스 – 03.네임스페이스 정의

PHP 네임스페이스는 관련 클래스(추상 및 트레이트 포함), 인터페이스, 함수 및 상수 엘리먼트element를 그룹화하는 방법을 제공합니다. 모든 유효한 PHP 코드가 네임스페이스 내에 포함될 수 있지만 네임스페이스의 영향을 받는 코드 유형은 클래스(추상…

Continue Reading네임스페이스 – 03.네임스페이스 정의

네임스페이스 – 02.네임스페이스의 필요성

PHP의 네임스페이스는 클래스 또는 함수와 같은 재사용 가능한 코드 요소code element를 만들 때 라이브러리 및 애플리케이션 작성자가 직면하는 두 가지 문제를 해결하도록 설계되었습니다. (이름 충돌 방지) 사용자가 작성한 코드와 PHP…

Continue Reading네임스페이스 – 02.네임스페이스의 필요성