변수와 함수 앞에 보호되는 것을 액세스 한정자라고 합니다. 액세스 한정자를 추가하면 해당 함수에 액세스할 수 있는 권한(액세스 권한)을 설정할 수 있습니다. 이번 글에서는 PHP에서 액세스 한정자의 사용법을 소개하겠습니다.
액세스 권한이 필요한 이유는 무엇인가요?
변수 이름 및 함수 이름 덮어쓰기 방지
public의 사용을 살펴보겠습니다. Public은 어디에서나 액세스할 수 있는 가장 광범위한 액세스 한정자입니다.
A씨가overlapFuncBase를 개발하고, B씨가overlapFuncBase를 상속받아overlapFunc의 예제를 생성한다고 가정해 보겠습니다.
<?php class overlapFuncBase { public $s = 1; } class overlapFunc extends overlapFuncBase { public $s = 2; } $obj_overlap = new overlapFunc(); var_dump($obj_overlap);
결과
object(overlapFunc)#1 (1) { ["s":"overlapFunc":public] => int(2) }
BoverlapFunc에서는 A씨가 만든overlapFuncBase를 사용할 수 있는데 변수명 $s가 동일해서 덮어쓰게 됩니다.
그래서 이때 액세스 수정자가 필요합니다.
<?php class overlapFuncBase { private $s = 1; } class overlapFunc extends overlapFuncBase { private $s = 2; } $obj_overlap = new overlapFunc(); var_dump($obj_overlap)
Result
object(overlapFunc)#1 (2) { ["s":"overlapFunc":private] => int(2) ["s":"overlapFuncBase":private] => int(1) }
첫 번째 코드와의 차이점은 변수 $s 이전에 액세스 한정자를 public으로 private으로 변경했다는 것입니다.
비공개는 자신의 수업에서만 액세스할 수 있다는 의미입니다.
따라서 A가 만든 모든 클래스의 변수 이름이 동일하더라도 이제 다른 결과를 얻을 수 있습니다.
액세스 한정자 유형
액세스 한정자에는 private, protected, public이 포함됩니다
해당 범위는 다음 순서로 증가합니다
private→protected→public
static이라는 또 다른 특수 액세스 한정자가 있습니다. 클래스 이름은 어디에서나 사용할 수 있습니다.
이 기사는 여기서 끝납니다. 더 흥미로운 내용을 보려면 PHP 중국어 웹사이트에서 관련 칼럼 튜토리얼을 참고하세요! ! !
위 내용은 PHP의 액세스 수정자 소개(코드 예)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!