Computer >> 컴퓨터 >  >> 프로그램 작성 >> PHP

PHP 네임스페이스 키워드 및 __NAMESPACE__ 상수

<시간/>

소개

PHP에서 namespace 키워드는 네임스페이스를 정의하는 데 사용됩니다. 또한 현재 네임스페이스의 특정 요소에 대한 액세스를 요청하는 연산자로 사용됩니다. __NAMESPACE__ 상수는 현재 네임스페이스의 이름을 반환합니다.

__NAMESPACE 상수

명명된 네임스페이스에서 __NAMESPACE__는 이름을 반환하고 전역 및 명명되지 않은 네임스페이스의 경우 빈 문자열을 반환합니다.

예시

#test1.php
<?php
echo "name of global namespace : " . __NAMESPACE__ . "\n";
?>

출력

빈 문자열이 반환됩니다.

name of global namespace :

명명된 네임스페이스의 경우 해당 이름이 반환됩니다.

예시

<?php
namespace myspace;
echo "name of current namespace : " . __NAMESPACE__ . "\n";
?>

출력

name of current namespace : myspace

동적 이름 구성

__NAMESPACE__는 이름을 동적으로 구성하는 데 유용합니다.

예시

<?php
namespace MyProject;
class myclass {
   function hello(){echo "hello world";}
};
$cls="myclass";
function get($cls){
   $a = __NAMESPACE__ . '\\' . $cls;
   return new $a;
}
get($cls)->hello();
?>
반환

출력

위의 코드는 다음 출력을 보여줍니다.

hello World

네임스페이스 연산자

namespace 키워드는 self와 동일하게 사용할 수 있습니다. 클래스가 현재 네임스페이스 또는 하위 네임스페이스에서 요소를 명시적으로 요청하는 연산자입니다.

예시

<?php
namespace Myspace;
class myclass {
   function hello(){echo "hello Myspace";}
}
$a = new namespace\myclass();
$a->hello();
?>

출력

위 코드는 다음 출력을 보여줍니다.

hello Myspace

전역 네임스페이스에서 네임스페이스 연산자는 전역 네임스페이스인 현재 네임스페이스의 함수/클래스를 참조합니다.

예시

<?php
class myclass {
   function hello(){echo "hello global space";}
}
$a = new namespace\myclass();
$a->hello();
?>

출력

위 코드는 다음 출력을 보여줍니다.

hello global space