>백엔드 개발 >PHP 튜토리얼 >PHP에서 네임스페이스를 선언하고 도입하는 방법에 대한 심층 분석

PHP에서 네임스페이스를 선언하고 도입하는 방법에 대한 심층 분석

青灯夜游
青灯夜游앞으로
2021-07-27 18:42:043482검색

이 글에서는 PHP가 네임스페이스를 선언하는 방법, 공백 요소에 액세스하는 세 가지 방법, 네임스페이스를 도입하는 방법을 소개합니다.

PHP에서 네임스페이스를 선언하고 도입하는 방법에 대한 심층 분석

1. 네임스페이스

1.1 소개

대규모 프로젝트에서는 동일한 이름을 가진 클래스, 함수 및 상수를 만날 수 있습니다. 요소는 각각 다른 네임스페이스에 저장됩니다. 1. 네임스페이스는 프로젝트의 클래스, 함수, 상수를 저장하는 데 사용되는 패키지입니다. 2. 네임스페이스 키워드

1.2 네임스페이스 선언

예:

<?php
  namespace China; // 定义命名空间
  function getInfo () {
    echo &#39;我是中国人&#39;;
  }
  getInfo();

  namespace USA; // 定义命名空间
  function getInfo () {
    echo &#39;我是美国人&#39;;
  }
  getInfo();
?>

효과:

PHP에서 네임스페이스를 선언하고 도입하는 방법에 대한 심층 분석

命名空间를 사용하여 메소드를 호출할 네임스페이스를 입력합니다. 예:

<?php
  namespace China; // 定义命名空间
  function getInfo () {
    echo &#39;我是中国人&#39;;
  }
  getInfo();

  namespace USA; // 定义命名空间
  function getInfo () {
    echo &#39;我是美国人&#39;;
  }
  getInfo();
  \China\ getInfo();
?>

효과:

PHP에서 네임스페이스를 선언하고 도입하는 방법에 대한 심층 분석

1.3 다단계 네임스페이스

네임스페이스 이름은 다단계(하위 레벨 네임스페이스)일 수 있습니다. 예:

<?php
  namespace China\Beijing\Shunyi; // 定义命名空间
  function getInfo () {
    echo &#39;China\Beijing\Shunyi&#39;;
  }
  getInfo(); // 非限定名称访问

  namespace USA\Washington; // 定义命名空间
  function getInfo () {
    echo &#39;USA\Washington&#39;;
  }
  \USA\Washington\ getInfo(); // 完全限定名称访问
?>

Effect:

PHP에서 네임스페이스를 선언하고 도입하는 방법에 대한 심층 분석

1.4 공백 요소에 액세스하는 세 가지 방법

1. 2. 정규화된 이름 액세스 3. 제한된 이름 액세스 예:

<?php
  namespace China\Beijing\Shunyi; // 定义命名空间
  function getInfo () {
    echo &#39;China\Beijing\Shunyi&#39;;
  }

  namespace China\Beijing; // 定义命名空间
  function getInfo () {
    echo &#39;China\Beijing&#39;;
  }

  getInfo();  // 非限定名称访问 
  \China\Beijing\getInfo();  // 完全限定名称访问
  Shunyi\getInfo();  // 限定名称访问

?>

효과:

PHP에서 네임스페이스를 선언하고 도입하는 방법에 대한 심층 분석

2. 네임스페이스 소개

use을 통해 네임스페이스 소개 정규화된 이름 액세스 요소 네임스페이스 도입을 위한 접합 규칙

공용 공간 + 도입 공간 + (공개 부분 제거, 공개 부분은 한 레벨만 남길 수 있음) 공간 요소

예:

<?php
  namespace China\Beijing\Shunyi; // 定义命名空间
  function getInfo () {
    echo &#39;China\Beijing\Shunyi<br>&#39;;
  }

  namespace China\Beijing; // 定义命名空间
  function getInfo () {
    echo &#39;China\Beijing<br>&#39;;
  }

  use China\Beijing\Shunyi;
  getInfo(); 
  Shunyi\getInfo();

?>

효과:

PHP에서 네임스페이스를 선언하고 도입하는 방법에 대한 심층 분석

2.1 공간 요소 소개

클래스 소개: 사용 기능 소개: 기능 사용 상수 소개: const를 사용하세요. 예:

<?php
  namespace China\Beijing\Shunyi; // 定义命名空间
  class Student {
  }
  function getInfo() {
    echo &#39;jdk&#39;;
  }
  const TYPE = &#39;CONST&#39;;
  namespace USA; // 定义命名空间
  // 引入类
  use China\Beijing\Shunyi\Student;
  $stu = new Student();
  var_dump($stu);
  echo &#39;<br>&#39;;
  // 引入函数
  use function China\Beijing\Shunyi\getInfo;
  getInfo();
  echo &#39;<br>&#39;;

  // 引入常量
  use const China\Beijing\Shunyi\TYPE;
  echo TYPE;
?>

Effect:

PHP에서 네임스페이스를 선언하고 도입하는 방법에 대한 심층 분석

2.2 클래스 및 함수의 별칭 이름

소개된 클래스 및 함수가 현재 공간의 이름과 동일한 경우 별칭을 지정해야 합니다. 가져온 클래스 및 함수. 별칭을 다음으로 사용 예:

<?php
  namespace China\Beijing\Shunyi; // 定义命名空间
  class Student {
  }
  

  namespace USA; // 定义命名空间
  class Student {

  }
  use China\Beijing\Shunyi\Student as ChinaStudent;
  $stu=new Student;
  var_dump($stu);
  echo &#39;<br>&#39;;
  $stu1=new ChinaStudent;
  var_dump($stu1);
?>

효과:

PHP에서 네임스페이스를 선언하고 도입하는 방법에 대한 심층 분석

2.3 공용 공간

페이지에 네임스페이스 선언 공간이 없는 경우 이 페이지의 요소는 공용 공간 아래에 있습니다. 공공 장소는 로 표시됩니다. 예:

<?php
  function getInfo() {
    echo &#39;李白<br>&#39;;
  }
  \getInfo();

?>

Effect:

PHP에서 네임스페이스를 선언하고 도입하는 방법에 대한 심층 분석

2.4 네임스페이스에 대한 참고 사항

1. 네임스페이스는 클래스, 함수 및 const 상수만 저장할 수 있습니다. 2. 첫 번째 네임스페이스 앞에는 코드, 공백 문자, header()가 올 수 없습니다. 3. 파일을 포함해도 현재 네임스페이스에는 영향을 미치지 않습니다.

추천 학습: "PHP 비디오 튜토리얼"

위 내용은 PHP에서 네임스페이스를 선언하고 도입하는 방법에 대한 심층 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 juejin.cn에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제