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

PHP 앨리어싱/네임스페이스 가져오기

<시간/>

소개

네임스페이스의 중요한 기능은 별칭을 사용하여 외부 정규화된 이름을 참조하거나 가져오는 기능입니다. PHP 네임스페이스는 다음과 같은 종류의 앨리어싱 또는 가져오기를 지원합니다. -

  • 클래스 이름 별칭 지정,
  • 인터페이스 이름 별칭 지정,
  • 네임스페이스 이름 별칭 지정
  • 함수 및 상수 이름의 별칭 지정 또는 가져오기

PHP에서 앨리어싱은 use 연산자로 수행됩니다.

연산자 사용

예시

#test1.php
<?php
namespace mynamespace;
function sayhello(){
   echo "Hello from mynamespace\n";
}
sayhello();
namespace mynewspace;
function sayhello(){
   echo "Hello from my new space\n";
}
sayhello();
use \mynewspace\sayhello as hello;
?>

출력

Hello from mynamespace
Hello from my new space

여러 사용 문 결합

예시

<?php
namespace mynamespace;
class myclass{
   function test() { echo "myclass in mynamespace\n"; }
}
class testclass{
   static function test() { echo "testclass in mynamespace\n"; }
}
use \mynamespace\myclass as myclass, \mynamespace\testclass;
$a=new myclass();
$a->test();
$b=new \mynamespace\testclass();
$b->test();
?>

출력

myclass in mynamespace
testclass in mynamespace

가져오기 및 동적 이름

가져온 클래스의 이름을 동적으로 대체

예시

<?php
namespace mynamespace;
class myclass{
   function test() { echo "myclass in mynamespace\n"; }
}
class testclass{
   static function test() { echo "testclass in mynamespace\n"; }
}
use \mynamespace\myclass as myclass;
$a=new myclass;
$b='myclass';
$c=new $b;
?>

use 키워드는 가장 바깥쪽이나 전역 범위 또는 네임스페이스 선언 내부에서 선언해야 합니다. 가져오기 프로세스는 런타임이 아닌 컴파일 시간에 수행됩니다. 따라서 범위를 차단할 수 없습니다. 다음 사용은 불법입니다.

예시

<?php
function myfunction(){
   use myspace\myclass;
   //
   //
}
?>

포함된 파일은 파일 기준이므로 상위 파일의 가져오기 규칙을 상속하지 않습니다.