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

네임스페이스를 사용하는 PHP

<시간/>

소개

네임스페이스의 클래스, 함수 또는 상수는 다음과 같은 방법으로 사용할 수 있습니다.

  • 현재 네임스페이스의 클래스 사용
  • 현재 네임스페이스를 기준으로 네임스페이스 지정
  • 정규화된 네임스페이스 이름 지정

현재 네임스페이스에서

이 예에서 네임스페이스는 test1.php에서 로드됩니다. 네임스페이스 없이 참조되는 함수 또는 클래스 이름은 현재 네임스페이스에 있는 항목에 액세스합니다.

예시

#test1.php
<?php
namespace myspace\space1;
const MAX = 100;
function hello() {echo "hello in space1\n";}
class myclass{
   static function hellomethod() {echo "hello in space1\n";}
}
?>

다음 코드에서 이 파일을 사용하세요.

예시

<?php
namespace myspace;
include 'test1.php';
const MAX = 200;
function hello() {echo "hello in myspace\n";}
class myclass{
   static function hellomethod() {echo "hello in myspace\n";}
}
hello();
myclass::hellomethod();
echo MAX;
?>

출력

hello in myspace
hello in myspace
200

상대 네임스페이스 사용

다음 예제에서 함수 및 클래스는 상대 네임스페이스

로 액세스됩니다.

예시

<?php
namespace myspace;
include 'test1.php';
const MAX = 200;
function hello() {echo "hello in myspace\n";}
class myclass{
   static function hellomethod() {echo "hello in myspace\n";}
}
space1\hello();
space1\myclass::hellomethod();
echo space1\MAX;
?>

출력

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

hello in space1
hello in space1
100

정규화된 네임스페이스

함수와 클래스에는 절대 네임스페이스 이름이 지정됩니다.

예시

<?php
namespace myspace;
include 'test1.php';
const MAX = 200;
function hello() {echo "hello in myspace\n";}
class myclass{
   static function hellomethod() {echo "hello in myspace\n";}
}
\myspace\hello();
\myspace\space1\hello();
\myspace\myclass::hellomethod();
\myspace\space1\myclass::hellomethod();
echo \myspace\MAX . "\n";
echo \myspace\space1\MAX;
?>

출력

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

hello in myspace
hello in space1
hello in myspace
hello in space1
200
100