>백엔드 개발 >PHP 튜토리얼 >PHP에서 use의 사용법은 무엇입니까?

PHP에서 use의 사용법은 무엇입니까?

angryTom
angryTom원래의
2019-08-24 09:39:0211216검색

PHP에서 use의 사용법은 무엇입니까?

PHP에서는 네임스페이스 문자열이 너무 길면 use를 사용하여 그에 맞게 네임스페이스를 줄입니다. 이는 PHP에서 사용하는 역할이기도 합니다. 아래에서는 PHP에서의 use 사용법을 소개하겠습니다.

추천 튜토리얼: PHP 비디오 튜토리얼

1. 새로운 클래스를 사용할 때 앞에 백슬래시를 사용할 필요가 없습니다. 또한 사용 후 as가 없는 경우 단축된 네임스페이스는 마지막 백슬래시 이후의 내용으로 기본 설정됩니다.

namespace animal\dog;
class Life{
 function __construct(){
  echo 'dog life!';
 }
}
namespace animal\cat;
class Life{
 function __construct(){
  echo 'cat life!';
 }
}
new Life(); //按照代码执行顺序,这里默认animal\cat这个命名空间
new \animal\dog\Life(); //A
use animal\dog; //a
new dog\Life(); //B
use animal\dog as d; //b
new d\Life();

라인 A와 B를 비교할 때 주의할 점:

use를 사용한 후 새 클래스를 사용할 때 앞에 백슬래시가 없습니다.

use를 사용하지 않는 경우 네임스페이스 앞에 백슬래시가 있습니다.

a행과 b행을 비교하면 다음을 알 수 있습니다.

사용 후 as가 없는 경우 단축된 네임스페이스는 기본적으로 다음 내용으로 설정됩니다. 마지막 백슬래시. 위와 같습니다.

use animal\dog;

use animal\dog as dog;

2와 동일합니다. 네임스페이스 뒤에 클래스 이름을 추가하는 것은 권장되지 않지만 사용 후에는 괜찮습니다.

//name.php
namespace animal\dog;
class Life{
 function __construct(){
  echo 'dog life!';
 }
}
namespace animal\cat;
class Life{
 function __construct(){
  echo 'cat life!';
 }
}
use animal\dog\Life as dog; 
new dog();

위에 표시된 것처럼 사용 후 클래스 이름을 추가하는 것은 클래스 이름을 Life에서 dog로 변경하는 것과 같습니다.

  위에서 dog로 사용하지 않으면 다음과 같은 오류가 발생합니다.

 Fatal error:  Cannot use animal\dog\Life as Life because the name is already in use

  cat 아래에 같은 이름의 Life 클래스도 있기 때문입니다.

use를 사용한 후에는 이 닉네임에 해당하는 클래스는 현재 네임스페이스에서만 점유될 수 있으며, 해당 클래스는 다른 네임스페이스에 존재할 수 없다는 점을 이해할 수 있습니다.

//name.php
namespace animal\dog;
class Life{
 function __construct(){
  echo 'dog life!';
 }
}
class Dog{
 function __construct(){
  echo 'dog in dog!';
 }
}
namespace animal\cat;
// class Dog{
// function __construct(){
//  echo 'dog in cat!';
//  }
// }
class Life{
 function __construct(){
  echo 'cat life!';
 }
}
use animal\dog; 
new dog\Dog();

위와 같이

 use animal\dog;
  cat

를 사용하는 경우 위의 코드를 통해 use(네임스페이스 이름 단축)를 사용하는 목적이 분명해집니다.

간단한 요약:

사용은 닉네임으로, 쓰기와 말하기 모두에서 많은 수고를 덜 수 있습니다.

위 내용은 PHP에서 use의 사용법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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