PHP 네임스페이스: 하위 공간 및 공용 공간 인스턴스에 대한 자세한 설명

伊谢尔伦
풀어 주다: 2023-03-07 19:26:02
원래의
2738명이 탐색했습니다.

네임스페이스의 구조는 파일 시스템의 구조와 매우 유사합니다. 폴더는 하위 폴더를 가질 수 있으며, 네임스페이스는 공간 간의 소유권 관계를 설명하기 위해 하위 공간을 정의할 수도 있습니다. 이전 장에서 소개한 네임스페이스란 무엇인가요? 여기서는 PHP 네임스페이스 의 기본 적용과 함께 네임스페이스의 하위 공간과 공용 공간을 이해하기 시작합니다.

다음 예를 사용하여 하위 공간이 무엇인지 설명합니다.

예를 들어 두 모듈 cart와 order는 모두 동일한 shop 프로젝트에 있습니다. 네임스페이스 부분공간을 통해 관계를 표현합니다.

코드는 다음과 같습니다:

<?php
namespace shop\cart;   //命名空间表示处于 shop 项目下的 cart
class Test {
}
namespace shop\order;  //命名空间表示处于 shop 项目下的 order
class Test {
   //申明与上面空间相同的类
}
$test =new Test();        //调用当前的类
$cart = new \shop\cart\Test();   //调用shop\cart空间的类
?>
로그인 후 복사

네임스페이스의 하위 공간은 cnmywwwshop과 같은 여러 수준을 정의할 수도 있습니다. 다중 레벨 부분 공간 요구는 회사 도메인 이름을 거꾸로 사용하고 그 뒤에 프로젝트 이름을 사용하는 경우가 많습니다. 이것의 장점은 도메인 이름이 인터넷에서 반복되지 않고, 인터넷에 동일한 이름을 가진 네임스페이스가 없으며, 어느 회사의 특정 프로젝트인지도 식별할 수 있다는 것입니다. 강력한 광고 효과를 가지고 있습니다.

네임스페이스의 공용 공간

네임스페이스의 공용 공간은 실제로 메소드, 클래스 라이브러리가 없기 때문에 이해하기 쉽습니다. 네임스페이스를 정의하는 클래스 라이브러리는 기본적으로 공용 공간에 속하므로 이전 버전에서 작성된 대부분의 코드는 PHP5.3 이상 버전에서 실행될 수 있습니다. 또한 공용 공간의 코드 세그먼트가 특정 네임스페이스에 도입된 후 공용 공간의 코드 세그먼트는 어떤 네임스페이스에도 속하지 않습니다. 예를 들어 스크립트 파일 common.php를 선언하고 파일에서 함수와 클래스를 선언합니다.

코드는 다음과 같습니다.

<?php
 function fun(){
   
 }
 class Demo{
   
 }
?>
로그인 후 복사

다른 PHP 파일을 만들고 이 스크립트 파일 common.php를 네임스페이스에 도입하지만 클래스와 함수는 그렇지 않습니다. 이 네임스페이스에 속합니다. 이 스크립트에 다른 네임스페이스가 정의되어 있지 않으면 해당 요소는 항상 공용 공간에 있습니다.

코드는 다음과 같습니다.

<?php
 namespace cn\my;
 include &#39;common.php&#39;;  //引入当前目录下的文件
 $demo = new Demo;    //出现致命错误:找不到 cn\my\Demo类
 $demo = new \Demo(); //正确的方式  加上 \
 var_dump();   // 错误,系统函数在公共空间
 \var_dump();  // 正确,使用了 \
?>
로그인 후 복사

참고: 공용 공간을 호출하는 방법은 요소 이름 앞에 을 직접 추가하는 것입니다. 그렇지 않으면 PHP 파서는 사용자가 현재 공간에서 요소를 호출하고 있다고 생각할 것입니다. 사용자 정의 요소 외에도 PHP와 함께 제공되는 요소도 있으며 모두 공용 공간에 속합니다. 실제로 공용공간의 함수와 상수는 추가하지 않고도 정상적으로 호출이 가능하지만, 해당 요소가 위치한 영역을 정확하게 구분하기 위해서는 함수 호출 시 를 추가하는 것이 좋습니다.

여기서는 네임스페이스의 하위 공간과 공용 공간을 소개합니다. 다음 섹션에서는 네임스페이스의 세 가지 이름과 용어를 소개합니다.

【추천 튜토리얼】

1. "php.cn Dugu Jiujian (4) - PHP 비디오 튜토리얼 "

2 . 튜토리얼: 네임스페이스: 이름도 같고 성별도 같지만 시간과 공간이 다릅니다

PHP 프로그래밍 튜토리얼 전체 모음 입문부터 마스터까지

위 내용은 PHP 네임스페이스: 하위 공간 및 공용 공간 인스턴스에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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