PHP PHP

 >  기사  >  백엔드 개발  >  Modern-php 책 발췌 (1) 네임스페이스 Huawei espace 컴퓨터 버전 다운로드 espace.net 특허 renault espac

Modern-php 책 발췌 (1) 네임스페이스 Huawei espace 컴퓨터 버전 다운로드 espace.net 특허 renault espac

WBOY
WBOY원래의
2016-07-29 08:54:291616검색

data-id="1190000004892254">

네임스페이스

네임스페이스 선언

  • 네임스페이스는 PHP 파일 상단,

  • 네임스페이스 선언문은 네임스페이스로 시작하고 공백, 네임스페이스 이름, 마지막으로;;로 끝납니다. >

  • 아래에 선언된 제조업체 네임스페이스, 즉 "Oreilly"는 가장 중요한 네임스페이스이며 전역적으로 고유해야 합니다.
하위 네임스페이스
<code><?php
namespace Oreilly;</code>

Ps: 동일한 네임스페이스의 모든 클래스, 인터페이스 및 함수를 동일한 PHP 파일에서 선언할 필요는 없습니다. ;
<code><?php
namespace Oreilly\ModernPHP;</code>
따라서 동일한 네임스페이스에 속하는 여러 클래스를 서로 다른 파일에 작성할 수 있습니다.


가져오기 및 별칭

PHP에서 네임스페이스를 도입하기 전에 개발자는 이름 지정 충돌을 해결하기 위해 Zend 스타일 클래스 이름을 사용했습니다.

하지만 너무 길다는 사실도 아셨습니다. , 참을 수 없어요! ! !
<code># Zend_Cloud_DocumentService_Adapter_WindowsAzure_Query => Zend/Cloud/DocumentService/Adapter/WindowsAzure/Query.php네임스페이스는 이 문제를 해결하기 위해 가져오기 및 별칭을 제공합니다. </p>
<p>가져오기, 별칭은 버전 5.3에서 클래스, 인터페이스 및 네임스페이스 가져오기를 지원합니다. 5.6에서는 기능 및 지속적인 가져오기를 지원하기 시작합니다. <br><br></p>
<pre class="brush:php;toolbar:false"><code># namespace without alias
<?php
$response = new \Symfony\Component\HttpFoundation\Response('Oops',400);
$response->send();
$response2 = new \Symfony\Component\HttpFoundation\Response('Success',200);</code>
<code># namespace with Default alias 
use Symfony\Component\HttpFoundation\Response;
$response = new Response('Oops',400);
$response->send();</code>
참고:
<code># namespace with custom alias 
use Symfony\Component\HttpFoundation\Response as Res;
$response = new Res('Oops',400);
$response->send();</code>

    네임스페이스 선언과 동일하게 PHP 파일 상단에 use 키워드를 사용하고

    시작 부분에 기호를 추가할 필요가 없습니다. 왜냐하면 PHP 가져오기는
  • use는 컴파일 타임에 사용되므로 전역 범위에 나타나야 합니다.
  • PHP 5.6 이후에는 함수와 상수를 가져올 수 있습니다.

상수 가져오기:

<code><?php
use func Namespace\functionName;

functionName();</code>

실용 팁

<code><?php
use constant Namespace\CONST_NAME;

echo CONST_NAME;
</code>
다중 가져오기

PHP 파일에서 여러 클래스, 인터페이스, 함수 또는 상수를 가져오려면 여러 use 문을 사용해야 합니다.

권장하지 않음:

권장 사항:

<code><?php
use Symfony\Component\HttpFoundation\Request,
    Symfony\Component\HttpFoundation\Response,
    Symfony\Component\HttpFoundation\Cookie;</code>

PHP에서는 하나의 파일에서 여러 네임스페이스를 정의할 수 있습니다. [적극 권장하지 않음]

<code><?php
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Cookie;</code>

글로벌 네임스페이스

<code><?php
namespace Foo {
    //...
}

namespace Bar {
    //...
}</code>

참고: 이번에는 Exception 클래스 이름에 접두사를 추가하면 PHP가 Exception을 전역적으로 검색하도록 지시합니다.

<code><?php
namespace My\App;

class Foo
{
    public function doSomething()
    {
        $ex = new \Exception();
    }
}</code>
이상은 espace와 현대적인 측면을 포함하여 Modern-php 책 발췌(1) 네임스페이스를 소개한 내용이므로 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

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