$this 키워드
Coddy PHP 여정의 객체 지향 프로그래밍 섹션에 포함된 레슨. 91개 중 4번째.
$this 키워드는 클래스의 메서드 내에서 현재 인스턴스를 참조합니다. 이를 통해 현재 객체의 속성에 액세스하고 수정할 수 있습니다.
다음은 $this를 사용하는 메서드가 있는 클래스의 예입니다:
<?php
class Car {
public $color;
public $model;
public function honk() {
echo "Beep beep!\n";
}
public function describe() {
echo "I am a " . $this->color . " " . $this->model . "\n";
}
}$this 키워드는 메서드를 호출한 객체를 가리키기 위해 메서드 내부에서 사용됩니다.
자동차 객체를 만들고 속성을 설정하세요:
$myCar = new Car();
$myCar->color = "Red";
$myCar->model = "Sedan";이제 메서드를 호출하세요:
$myCar->honk();
$myCar->describe();출력:
Beep beep!
I am a Red Sedan$myCar->describe()를 호출하면 PHP는 자동으로 $this를 $myCar를 가리키도록 설정합니다. 이를 통해 method는 어느 객체의 속성에 access해야 하는지 알 수 있습니다.
또 다른 자동차 객체가 있다면:
$otherCar = new Car();
$otherCar->color = "Blue";
$otherCar->model = "SUV";
$otherCar->describe(); // 나는 Blue SUV입니다핵심 요점: $this는 항상 메서드를 호출한 특정 객체를 가리킵니다. 메서드가 실행될 때 각 객체는 자체 컨텍스트를 갖습니다.
챌린지
쉬움Car class를 완성하려면 car.php에 displayInfo라는 메서드를 추가하세요. 이 메서드는 $this 키워드를 사용하여 다음 형식으로 자동차의 연도, 제조사, 모델을 출력합니다:
"This car is a [year] [make] [model]"
car.php:displayInfo메서드를 추가할Carclass 정의가 포함되어 있습니다driver.php:Carclass를 가져와 사용하는 기본 실행 파일입니다(잠김)
직접 해보기
<?php
require_once 'car.php';
$myCar = new Car();
$myCar->year = 2020;
$myCar->make = "Toyota";
$myCar->model = "Corolla";
$myCar->displayInfo();
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
객체 지향 프로그래밍의 모든 레슨
직접 연습해 보세요: 온라인 PHP 컴파일러