* 네임스페이스 선언 및 사용
* 1. 키워드 사용: 네임스페이스
* 2.php5.3+
* 3 . 네임스페이스 앞에는 선언과 주석 외에는 어떤 코드도 들어갈 수 없으며 html은 허용되지 않습니다
* 4. 네임스페이스는 기본적으로 전역 위치에서 시작하며, 전역 공간은 와 유사하게 표시됩니다. 루트 디렉터리 #🎜 🎜#
* 5. 현재 스크립트가 네임스페이스를 선언하는 경우 모든 멤버에 대한 액세스는 시스템 함수 //1을 포함하여 네임스페이스를 사용해야 합니다. 🎜 🎜#namespace one; class Demo{public $name='Peter Zhu';} const SITE='PHP中文网'; function add($a,$b){return $a+$b;}
//같은 이름의 클래스를 선언하려면 상수와 함수가 다른 네임스페이스를 선언할 수 있습니다
/ /2. 스크립트에서는 여러 네임스페이스가 허용됩니다.
//네임스페이스 선언: 2개, 참조용으로 tow 사용
namespace two;
//이제 Demo 클래스 선언, SITE 상수, 함수 추가 , 충돌은 없을 것입니다
class Demo{public $name='朱老师';} const SITE = 'www.php.cn'; function add($a,$b){return $a+$b;}
//이것은 다른 디렉터리에 동일한 이름의 파일을 생성하도록 허용하는 것과 매우 유사하다는 것을 알 수 있습니다. 원칙은 동일합니다
echo (new Demo)->name, '<br>'; //默认输出的是当前空间的内容
//현재 네임스페이스가 무엇인지 확인하시겠습니까? 시스템 사전 설정 상수:__NAMESPACE__
echo '当前命名空间是: ',__NAMESPACE__,'<br>';
//현재 네임스페이스를 가져와 현재 스페이스의 멤버에 액세스할 수도 있습니다
#🎜 🎜#//현재 네임스페이스로 클래스 이름 생성$className = __NAMESPACE__.'\Demo'; echo (new $className)->name,'<br>';//전역 공간에서 시작하여 전체 네임스페이스 이름을 가져올 수 있습니다. 이는 루트 디렉터리에서 시작하는 것과 동일합니다#🎜 🎜##🎜 🎜#//전문 용어: 정규화된 이름
echo (new \two\Demo)->name, '<hr>';//3. 공간 간 액세스를 달성하는 방법 //액세스하려는 경우 스페이스 원의 Demo 클래스 원 스페이스의 Demo 클래스에서 Access 멤버의 속성을 조작하는 방법
echo 'one空间的类成员:',(new \one\Demo)->name,'<br>';//4. 네임스페이스를 선언하는 스크립트에서 시스템이 미리 정의한 메소드에 액세스하는 방법은 무엇입니까? //예를 들어 단일 문자 배열을 선언합니다.
$welcome = 'php中文网欢迎您'; \print_r($welcome); echo '<br>'; print($welcome); echo '<hr>';//방금 공간에서 전역 멤버에 액세스하는 기능을 여기에 추가하지 않는다고 했습니다. # 🎜🎜#
//사용자가 추가하지 않으면 먼저 이 공간에서 var_dump() 함수를 검색하기 때문에
//찾지 못하면 전역 공간에서 검색하므로 오류가 보고되지 않습니다
//그러나 현재 두 공간에 var_dump() 함수도 생성하면 현재 공간에서 사용자 정의 var_dump()만 동일한 이름의 시스템 함수는 실행되지 않습니다. Call
function print_r($arg) { echo '我是当前空间声明的函数调用:'.$arg; } print_r($welcome); echo '<br>';
//동등한 호출 구문:
\two\print_r($welcome);
//참고: 이 print_r() 시스템에 내장된 print_r()과는 아무런 관련이 없고 이름만 같습니다
//마치 상하이에도 장강길이 있고 우리에게도 장강길이 있는 것과 같습니다 허페이의 도로. 이름이 같은 것 외에는 이 두 도로는 아무런 관계가 없습니다.
// Shanghai City Changjiang Road, Baoshan District
// Changjiang Road, Luyang District, 허페이시
// 이것이 같은 길이라고 생각하는 사람은 아무도 없을 것이라고 믿습니다.
/ /사실 이 두 기능의 전체 호출 설명은 다음과 같아야 합니다. :
//1. 시스템 호출:
\print_r($welcome);
//2. 현재 공간 호출:
\two\print_r($welcome);
//이름은 다음과 같습니다. 똑같아도 소유지가 다르다
위 내용은 PHP에서 네임스페이스 선언 및 사용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!