>  기사  >  백엔드 개발  >  PHP의 액세스 수정자 소개(코드 예)

PHP의 액세스 수정자 소개(코드 예)

不言
不言원래의
2019-01-25 15:32:373966검색

변수와 함수 앞에 보호되는 것을 액세스 한정자라고 합니다. 액세스 한정자를 추가하면 해당 함수에 액세스할 수 있는 권한(액세스 권한)을 설정할 수 있습니다. 이번 글에서는 PHP에서 액세스 한정자의 사용법을 소개하겠습니다.

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.