> 백엔드 개발 > PHP 튜토리얼 > PHP 네임스페이스(namespace) 사용의 기본 및 예제_php 예제

PHP 네임스페이스(namespace) 사용의 기본 및 예제_php 예제

WBOY
풀어 주다: 2016-05-16 20:38:16
원래의
1446명이 탐색했습니다.

PHP의 네임스페이스(namespace)는 PHP 5.3에 추가된 가장 중요한 새로운 기능입니다. 이 개념은 오랫동안 C#에 있었습니다. PHP의 네임스페이스는 실제로 C#과 동일한 개념입니다.

1. PHP의 네임스페이스는 주로 상수, 함수, 클래스라는 세 가지 충돌 문제를 해결합니다.

일반적인 이해: 네임스페이스는 디렉터리를 만들고 외부와 구별하기 위해 디렉터리의 네임스페이스 아래에 코드를 배치하는 것과 같습니다.

/*
|---------------------------------
|namespace示例
|@黑眼诗人 <www.chenwei.ws>
|---------------------------------
*/
namespace myself;
function var_dump()
{
  echo 100;
}
var_dump();        //调用自定义函数(相对路径方式)
\myself\var_dump();    //调用自定义函数(绝对路径方式) 
\var_dump(100);     //调用全局的(系统的函数)

로그인 후 복사

참고: 선언()을 제외하고 네임스페이스 앞에는 코드가 있을 수 없습니다. 여러 파일이 동일한 네임스페이스를 사용할 수 있지만 동일한 네임스페이스에 정의된 콘텐츠는 충돌할 수 없습니다. 네임스페이스는 다중 레벨 디렉터리의 개념과 동일한 네임스페이스 owngood와 같은 하위 네임스페이스를 지원합니다.

2. 동일한 파일에 여러 개의 네임스페이스가 존재합니다

1.

/**
 * 同一文件中若使用了多个命名空间,一般写法
 */
namespace nihao\shijie;
function demo()
{
  //.......
}
namespace hello\world;
function test()
{
  //........
}

\nihao\shijie\demo();
\hello\world\test();

로그인 후 복사

2.

/**
 * 同一文件中若使用了多个命名空间,建议大括号扩起来
 */
namespace nihao\shijie{
  function test_one()
  {
  //......
  };
}
namespace hello\world{
  function test_two()
  {
  //........
  }
}
\nihao\shijie\test_one();
\hello\world\test_two();

로그인 후 복사

동일한 파일에 여러 네임스페이스를 사용하는 것은 여러 PHP 스크립트를 동일한 파일로 병합하는 프로젝트에 주로 사용됩니다. 실제로는 사용하지 않는 것이 좋습니다.

3. 이름 확인 규칙(여러 개념)

1. 정규화되지 않은 이름: 이름에 네임스페이스 구분 기호가 포함되어 있지 않습니다. 예: 내 자신

2. 정규 이름: 이름에는 다음과 같은 네임스페이스 구분 기호가 포함됩니다. nihaoshijie

3. 정규화된 이름: 이름은 구분 기호를 포함하고 네임스페이스 구분 기호로 시작합니다. 예: nihaoshijie(즉, 절대 경로의 개념)

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