PHP의 액세스 제어 기호는 다음과 같습니다. 1. 공개, 어디에서나 액세스할 수 있도록 속성 또는 메서드 설정 2. 자체 클래스 또는 개체에서만 액세스할 수 있도록 속성 또는 메서드 설정 3. 보호, 속성 만들기 또는 해당 클래스나 그 자손이 액세스할 수 있는 메서드입니다.
이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터
액세스 제어 수정자 목록
액세스 수정자 | 의미 |
---|---|
공개 | 어디서나 액세스할 수 있도록 속성 또는 메서드 설정 |
Private | 속성 또는 메서드를 자체 클래스 또는 개체에서만 액세스할 수 있도록 설정 |
Protected | 속성 또는 메서드를 해당 클래스 또는 개체에서만 액세스할 수 있도록 설정 자체 클래스 또는 객체 클래스 또는 그 하위 항목 액세스 |
public
공용 속성 및 메서드는 어디에서나 액세스할 수 있습니다.
<?PHP class Book { public $Name; public function say() { print "PHP!\n"; } } class PythonBook extends Book { public function say() { print "Python!\n"; } } $aBook = new PythonBook; $aBook->Name = "Python"; print $aBook->Name; ?>
기본적으로 모든 클래스 메소드는 공개됩니다.
위 코드는 다음과 같은 결과를 생성합니다.
private
개인 속성은 해당 클래스 내에서만 액세스할 수 있습니다.
<?PHP class Book { private $Name; private $NameTag; public function setName($NewName) { // etc } } ?>
비공개 상위 메서드 및 속성은 하위 클래스에서 액세스할 수 없습니다. 이렇게 하려면 protected 키워드가 필요합니다.
Protected
Protected 속성과 메서드는 해당 클래스와 하위 클래스 내에서 액세스할 수 있습니다. 다음 코드를 고려해보세요.
<?PHP class Book { public $Name; protected function getName() { return $this->Name; } } class Poodle extends Book { public function say() { print ""Book", says " . $this->getName(); } } $aBook = new Poodle; $aBook->Name = "PHP"; $aBook->say(); ?>
위 코드는 다음과 같은 결과를 생성합니다.
Example
아래 코드는 Private 멤버를 사용하여 정보를 숨기는 방법을 보여줍니다.
<?php class Widget { private $name; private $price; private $id; public function __construct($name, $price) { $this->name = $name; $this->price = floatval($price); $this->id = uniqid(); } //checks if two widgets are the same public function equals($widget) { return(($this->name == $widget->name) AND ($this->price == $widget->price)); } } $w1 = new Widget("Cog", 5.00); $w2 = new Widget("Cog", 5.00); $w3 = new Widget("Gear", 7.00); //TRUE if($w1->equals($w2)) { print("w1 and w2 are the same<br>\n"); } //FALSE if($w1->equals($w3)) { print("w1 and w3 are the same<br>\n"); } //FALSE, == includes id in comparison if($w1 == $w2) { print("w1 and w2 are the same<br>\n"); } ?>
위 코드는 다음과 같은 결과를 생성합니다.
추천 학습: "PHP 비디오 튜토리얼"
위 내용은 PHP의 액세스 제어 문자는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!