data-id="1190000004892254">
네임스페이스
네임스페이스 선언
네임스페이스는 PHP 파일 상단,
네임스페이스 선언문은 네임스페이스로 시작하고 공백, 네임스페이스 이름, 마지막으로;;로 끝납니다. >
<code><?php namespace Oreilly;</code>
<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>
상수 가져오기:
<code><?php use func Namespace\functionName; functionName();</code>
실용 팁
<code><?php use constant Namespace\CONST_NAME; echo CONST_NAME; </code>
권장 사항:
<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>