멤버 메소드에서 멤버 메소드를 호출하는 메소드는 객체명 + 메소드명이며 형식은 "객체명->메소드명"입니다. 그런데 클래스를 정의할 때 객체 이름이 무엇인지 모르기 때문에 객체 이름을 사용할 수 없는 경우가 많으며, 이때 의사 변수 $this를 사용해야 합니다.
$이것이 무엇인가요?
$this는 $this에 포인터가 있습니다. 호출하는 사람은 클래스 내에서만 사용할 수 있습니다.
$this 사용법 예:
모두가 $this의 의미를 더 명확하게 볼 수 있도록 예를 들어 보겠습니다.
<?php header("content-type:text/html;charset=utf-8"); class Preson{ //定义类 public $name; public $age; public function __construct($Name,$Age) //构造函数 { $this -> name = $Name; $this -> age = $Age; echo '<pre class="brush:php;toolbar:false">'; var_dump($this); //打印出$this } public function showInfo(){ //成员方法 echo "个人信息:"; echo '<br/>' . "名字是:" . $this -> name . '<br/>' . "年龄是:" . $this -> age; } } $preson = new Preson("小草",25); //实例化 var_dump($preson); //打印出$this $preson -> showInfo(); echo '<hr>'; $preson = new Preson("大树",30); //实例化 var_dump($preson); //打印出$preson $preson -> showInfo();
위 사진에서 결과를 비교해 볼 수 있습니다. $this와 $preson의 인쇄된 결과는 동일합니다. 즉, $preson이 $this를 호출하고 $this가 이를 가리키므로 결과는 동일합니다. 따라서 $this가 가리키는 위치는 인스턴스화되는 개체, 즉 현재 개체 인스턴스에 대한 포인터에 의해 결정됩니다. 여기에는 변수와 메서드가 포함됩니다. 이는 또한 우리가 위에서 말한 내용을 확인시켜 줍니다. 이를 호출하는 사람은 누구든지 가리킬 것입니다.
위 내용은 PHP 객체지향 $this-> 사용법 간략한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!