this와 PHP의 self의 차이점은 self가 클래스를 호출하는 반면 $this는 인스턴스화된 객체를 호출한다는 것입니다. self는 이 클래스의 정적 속성과 정적 메서드는 물론 const로 정의된 상수에 액세스할 수 있으며, 이는 이 클래스의 메서드와 속성을 호출할 수 있습니다.
차이:
self가 클래스를 호출하는 반면 $this는 인스턴스화된 객체를 호출합니다.
(추천 튜토리얼: php 튜토리얼)
아래에서 자세히 설명하겠습니다.
1 Self는 이 클래스의 정적 속성과 정적 메서드에 액세스할 수 있고 상위 클래스의 정적 속성과 정적 메서드에 액세스할 수 있습니다. self를 사용할 때는 인스턴스화할 필요가 없습니다.
코드 예:
class self_test { static $instance; public function __construct(){ self::$instance = 'instance';//静态属性只能通过self来访问 } public function tank(){ return self::$instance;//访问静态属性 } } $str = new self_test(); echo $str->tank();
결과 출력:
instance
2. self는 const
코드 예:
class self_test { const NAME = 'tancy'; public function tank(){ return self::NAME; } } $str = new self_test(); echo $str->tank();
3에 의해 정의된 상수에 액세스할 수 있습니다. 정적 속성과 const 상수의 경우 기본적으로 이를 사용하여 호출 가능한 모든 메서드와 속성을 호출할 수 있습니다.
코드 예:
class self_test { public $public; private $private; protected $protected; public function __construct(){ $this->public = 'public'; $this->private = 'private'; $this->protected = 'protected'; } public function tank(){ return $this->public; } public function dell(){ return $this->private; } public function datesrt(){ return $this->protected; } } $str = new self_test(); echo $str->tank(); echo "</br>"; echo $str->dell(); echo "</br>"; echo $str->datesrt();
결과:
public private protected
요약: self는 정적 클래스를 참조하는 클래스 이름이고, $this는 비정적 클래스를 참조하는 인스턴스 이름입니다.
위 내용은 PHP에서 이것과 self의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!