>  기사  >  백엔드 개발  >  PHP 네임스페이스: 별칭 및 가져오기 인스턴스에 대한 자세한 설명

PHP 네임스페이스: 별칭 및 가져오기 인스턴스에 대한 자세한 설명

伊谢尔伦
伊谢尔伦원래의
2017-05-19 15:04:121945검색

별칭 및 가져오기 는 네임스페이스 호출을 위한 지름길로 볼 수 있습니다. 별칭을 통해 외부 정규화된 이름을 참조하거나 가져오도록 허용하는 것은 네임스페이스의 중요한 기능입니다. 이는 Linux 파일 시스템의 다른 파일이나 디렉터리에 대한 소프트 링크를 만드는 방법과 다소 유사합니다. 이전 장에서는 네임스페이스 내 공간의 세 가지 이름 부정격 이름, 정규화 이름, 정규화 이름에 대해 알아야 할 용어에 대해 설명했습니다. 이 세 가지 이름과 용어를 먼저 이해해야만 네임스페이스 별칭과 가져온 콘텐츠를 더 잘 배우고 이해할 수 있습니다.

PHP 이름 지정 공간은 두 가지 별칭 또는 가져오기 방법을 지원합니다.

은 별칭을 클래스 이름으로 사용하거나 이름 공간 이름 에는 별칭 을 사용합니다. PHP는 함수나 상수를 가져옵니다. PHP에서 별칭은 연산자 를 통해 구현됩니다.

다음은 가능한 모든 가져오기 방법을 사용하는 예제 코드입니다.

<?php
namespace cn\my;  //声明命名空间 cn\my
class User{ }     // 当前空间下声明一个类
namespace shop;   // 在创建一个空间
use cn\my;        //导入一个命名空间
$my_User = new my\User();    //导入命名空间后可使用限定名称调用元素
use cn\my as u;            //命名空间使用别名
$my_User = new u\User();   //使用别名代替空间名
use cn\my\User;              //导入一个类
$my_User = new User();       //导入类后可使用非限定名称调用元素
use cn\my\User as myUser;   // 为类使用别名
$my_User = new myUser();   //使用别名代替空间名
?>

가져오기에 사용을 사용할 경우 현재 공간의 이름 요소가 동일하다는 점에 유의해야 합니다. , 치명적인 오류가 발생합니다.

코드는 다음과 같습니다:

<?php
namespace cn\my;
class User{ }
namespace shop;
class User{ }
class myUser{ }
//导入一个类
use cn\my\User;
// 与当前空间的 User 发生冲突,产生致命错误
$my_user = new User();
// 为类使用别名
use cn\my\User as myUser;
// 与当前空间 myUser 发生冲突,产生致命错误
$my_user = new myUser();
?>

별칭 및 가져오기를 사용하는 것 외에도 네임스페이스 키워드 및 __NAMESPACE__ 매직 상수 는 요소에 동적으로 액세스합니다. namespace 키워드는 현재 공간을 나타내며, 매직 상수 __NAMESPACE__의 값은 현재 공간의 이름입니다. __NAMESPACE__는 문자열을 조합하여 동적으로 호출할 수 있습니다.

샘플 코드는 다음과 같습니다.

<?php
namespace cn\my;  //声明命名空间 cn\my
const PATH = &#39;cn\my&#39;;
class User{ }     // 当前空间下声明一个类
echo namespace\PATH;   //namespace 关键字表示当前空间 cn\my
$User = new namespace\User(); //使用namespace代替 \cn\my
echo __NAMESPACE__;    //魔法常量的值是当前空间名称 cn\my
$User_class =  __NAMESPACE__ . &#39;\User&#39;;  //组合称字符串并调用
$User = new $User_class;
?>

위의 동적 호출 예에서 동적 호출 방법은 문자열에 있습니다. form 에서 큰따옴표를 사용하면 특수 문자가 이스케이프될 수 있다는 점에 유의해야 합니다. 예를 들어 "__NAMESPACE__ . "User" "에서 "User"는 큰따옴표 문자열에서 이스케이프됩니다. 또한, PHP는 스크립트를 컴파일할 때 요소가 위치한 공간과 가져오기 상태를 결정합니다. 스크립트를 구문 분석할 때 문자열 형식의 호출은 정규화되지 않은 이름과 정규화된 이름으로만 간주될 수 있으며 정규화된 이름은 될 수 없습니다.

위는 PHP 네임스페이스에 대한 소개입니다: 별칭 및 가져오기. 친구들은 코드를 더 많이 연습하고 사용해야 합니다. PHP 네임스페이스에 능숙하면 PHP 프레임워크를 사용하여 개발하는 데 큰 도움이 됩니다.

【관련 튜토리얼 추천】

1. "

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

2.

PHP5.6 네임스페이스 확장: 함수 및 상수 공백을 가져올 수 있음

3.

초보부터 숙달까지 PHP 프로그래밍에 대한 전체 튜토리얼 세트

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.