좋은 PHP 라이브러리는 좋은 네임스페이스와 분리될 수 없습니다.

WBOY
풀어 주다: 2016-08-08 09:28:56
원래의
1184명이 탐색했습니다.



좋은 PHP 라이브러리는 좋은 네임스페이스 개요와 분리될 수 없습니다.

네임스페이스는 사물을 캡슐화하는 방법입니다. 이 추상적인 개념은 여러 곳에서 볼 수 있습니다. 예를 들어 운영 체제에서는 디렉터리가 관련 파일을 그룹화하는 데 사용됩니다. 디렉터리는 네임스페이스 역할을 합니다. 이 원칙을 프로그래밍 분야에 적용한 것이 네임스페이스의 개념입니다. PHP 5.3 이후 버전에서는 네임스페이스를 지원하기 시작합니다.

네임스페이스 정의

네임스페이스는 namespace 키워드로 선언됩니다. 모든 합법적인 PHP 코드는 네임스페이스에 포함될 수 있지만 클래스, 함수, 상수의 세 가지 유형만 네임스페이스의 영향을 받습니다.

네임스페이스를 선언하기 전에 유효한 유일한 코드는 소스 파일이 인코딩되는 방식을 정의하는 declare 문입니다. 네임스페이스는 프로그램 스크립트의 첫 번째 문이어야 하며 공백을 포함하여 PHP가 아닌 모든 코드는 네임스페이스 선언 앞에 나타날 수 없습니다. 동일한 네임스페이스를 여러 파일에 정의할 수 있습니다.

하위 네임스페이스 정의

디렉토리와 파일 간의 관계와 유사하게 PHP에서는 계층적 네임스페이스를 지정할 수도 있습니다.

동일한 파일에 여러 네임스페이스 정의

PHP는 이 구문을 지원하지만 사용하지 않는 것이 좋습니다. 동일한 파일에 여러 네임스페이스를 정의하는 구문 형식에는 두 가지가 있습니다. 하나는 간단한 상위 및 하위 목록이고 다른 하나는 중괄호를 사용하는 구문입니다. 두 번째 것을 사용하는 것이 좋습니다.

<code><span><?php</span><span>declare</span>(encoding = <span>'UTF-8'</span>);
<span>namespace</span><span>MyProject</span> {
	/* <span>MyProject</span> */
}
<span>namespace</span> {
	/* <span>global</span> */
}</code>
로그인 후 복사

네임스페이스가 아닌 전역 코드를 네임스페이스 코드와 결합하려면 중괄호 구문만 사용할 수 있습니다. Nantong Changpai Game Hall http://www.szjmswy.com/

네임스페이스 사용: 기본

네임스페이스를 사용하려면 PHP가 어떤 요소를 사용할 네임스페이스를 아는지 이해해야 합니다.

파일 시스템에는 파일에 접근하는 세 가지 방법이 있습니다:

  • 상대 파일 이름 형식
  • 상대 경로 이름 형식
  • 절대 경로 이름 형식

은 파일 시스템과 유사합니다. PHP 네임스페이스에서 클래스 이름은 세 가지 방법으로 참조할 수 있습니다. 🎜>

    부정 이름, 접두사가 없는 클래스 이름입니다. 이름에 네임스페이스 구분 기호가 포함되지 않은 식별자입니다. 예를 들어
  • . Foo
  • 정식 이름, 접두사가 포함된 이름, 이름에 네임스페이스 구분 기호가 포함된 식별자. 예를 들어
  • . FooBar
  • 전역 접두사 연산자의 이름을 포함하는 정규화된 이름입니다. 이름에 네임스페이스 구분 기호가 포함되어 있고 네임스페이스 구분 기호로 시작하는 식별자입니다. 예를 들어
  • . FooBar도 정규화된 이름입니다. namespaceFoo
네임스페이스 및 동적 언어 기능

네임스페이스 구현은 언어 자체의 동적 기능에 영향을 받으며 때로는 정규화된 이름을 사용해야 합니다.

키워드 및 namespace상수__NAMESPACE__

상수 __NAMESPACE__의 값은 현재 네임스페이스의 이름을 포함하는 문자열입니다. 네임스페이스에 포함되지 않은 전역 코드에는 빈 문자열이 포함됩니다. 상수

는 이름을 동적으로 생성할 때 유용합니다. __NAMESPACE__

키워드

를 사용하면 현재 네임스페이스나 하위 네임스페이스의 요소에 명시적으로 액세스할 수 있습니다. 클래스의 namespace 연산자와 동일합니다. self

네임스페이스 사용: 별칭/가져오기

Unix 계열 파일 시스템에서 다른 파일이나 디렉터리에 대한 심볼릭 링크를 만드는 방법과 유사하게 별칭을 통해 외부 정규화된 이름을 참조하거나 가져올 수 있습니다.

PHP 네임스페이스는 두 가지 별칭 또는 가져오기 방법을 지원합니다.

    클래스 이름에 별칭 사용

  • 네임스페이스 이름에 별칭 사용
별칭을 가져오거나 사용하려면

연산자를 사용하여 한 줄에 여러 use 문을 지원합니다. 네임스페이스에 있는 이름의 경우 선행 백슬래시는 불필요하며 허용되지 않습니다. 가져온 이름은 정규화되어야 하고 현재 네임스페이스를 기준으로 확인되지 않기 때문입니다. use

전역 공간

네임스페이스가 정의되지 않으면 모든 클래스와 함수가 전역 공간에 정의됩니다. 이름 앞에

가 붙으면 해당 이름이 전역 공간의 이름임을 나타냅니다.

네임스페이스 사용: 대체 전역 함수/상수

네임스페이스에서 PHP가 정규화되지 않은 클래스, 함수 또는 상수 이름을 발견하면 다른 연결 전략이 사용됩니다.

클래스 이름은 항상 현재 네임스페이스의 이름으로 확인되므로 시스템 내부에 있거나 네임스페이스에 포함되지 않은 클래스 이름에 액세스할 때는 정규화된 이름을 사용해야 합니다.

함수와 상수의 경우, 함수나 상수가 현재 네임스페이스에 없으면 PHP는 전역 공간의 함수나 상수를 사용하게 됩니다.

이름 확인 규칙

이름 확인 규칙에는 많은 텍스트가 포함되어 있으며 특정 문제에 대한 자세한 분석이 필요합니다.

(전문 종료)

위에서는 좋은 PHP 라이브러리가 좋은 네임스페이스와 분리될 수 없다는 점을 소개했으며, 그 측면도 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿