public - 속성 또는 메소드는 어디에서나 액세스 할 수 있습니다. 이것은 기본 값.
protected - 속성 또는 메소드는 클래스 내에서 그리고 해당 클래스에서 파생된 클래스에서 액세스 할 수 있습니다.
private - 속성 또는 메소드는 클래스 내에서만 액세스 할 수 있습니다.
의사 변수 $this
PHP에서 $this는 다른 프로그래밍 언어들처럼 클래스의 메소드 내에서만 사용할 수 있는 의사 변수입니다.
의사 변수 $this의 의미는 현재 자기 자신을 나타내는 표현으로, 화살표 지시자(->)를 사용함으로써 자신이 속해있는 인스턴스 내의 속성이나 메소드에 액세스할 수 있게 됩니다.
인스턴스 명 -> 속성명;
$인스턴스 명 -> 메소드명();
<?php
class fruit
{
public $name; // 속성
public $color;
function set_fruit(string $name, string $color) // 메소드에 매개변수로 문자유형의 값만 받음
{
$this->name = $name;
// 03번쨰 줄 속성 $name에 값을 할당합니다.
$this->color = $color;
// 04번쨰 줄 속성 $color에 값을 할당합니다.
}
function get_fruit() : string // 메소드의 반환 유형으로 문자유형을 지정
{
$string = "이 과일은 {$this->name} 입니다.
색깔은 {$this->color}";
return $string; // 변수 $string을 리턴.
}
}
$apple = new fruit();
$apple->set_fruit(name: '길동', color: '노랑');
echo $apple->get_fruit(). "<br/>";
echo $apple->set_fruit('나미', '빨강');
echo $apple->get_fruit();
PHP에서 생성자 작성이 다른 언어와 다르다. ㅁㅁ
<?php
class Example
{
protected $name;
public function __construct()
{
$this->name = "인간미";
echo $this->name;
}
}
new Example();