> 백엔드 개발 > PHP 문제 > PHP 개인 속성 호출 방법

PHP 개인 속성 호출 방법

WBOY
풀어 주다: 2023-05-07 11:47:07
원래의
1133명이 탐색했습니다.

PHP에서는 "private" 키워드를 사용하여 클래스의 전용 속성을 선언할 수 있습니다. 즉, 클래스 내부의 메서드만 이러한 속성에 액세스하고 수정할 수 있습니다. 그러나 어떤 경우에는 클래스 외부에서 이러한 개인 속성에 액세스해야 할 수도 있으며, 이 경우 이를 달성하기 위해 몇 가지 기술을 사용할 수 있습니다.

일반적인 접근 방식은 전용 속성의 값을 반환하는 공용 메서드를 정의하는 것입니다. 예를 들어, "age"라는 개인 속성이 포함된 "Person"이라는 클래스가 있다고 가정하면 "getAge()"라는 공용 메서드를 정의하여 속성 값을 가져올 수 있으며 코드는 다음과 같습니다.

class Person {
    private $age;

    public function getAge() {
        return $this->age;
    }
}
로그인 후 복사

위 코드에서는 "$this->age"를 사용하여 개인 속성 "age"의 값을 가져옵니다. "getAge()" 메소드를 호출하면 아래와 같이 클래스 외부에서 "age" 속성 값을 가져올 수 있습니다.

$person = new Person();
$age = $person->getAge();
로그인 후 복사

"getAge()" 메소드는 여전히 내부에서 호출될 수 있다는 점에 유의해야 합니다. 수업은 공개이기 때문이죠.

또 다른 일반적인 접근 방식은 개인 속성의 값을 수정하는 공용 메서드를 정의하는 것입니다. "Person" 클래스의 "setAge()" 메서드를 예로 들면 코드는 다음과 같습니다.

class Person {
    private $age;

    public function setAge($age) {
        $this->age = $age;
    }
}
로그인 후 복사

위 코드에서는 "$this->age = $age"를 사용하여 값을 수정합니다. 사유 재산 "나이". "setAge()" 메소드를 호출할 때 아래와 같이 클래스 외부에서 "age" 속성의 값을 수정할 수 있습니다.

$person = new Person();
$person->setAge(25);
로그인 후 복사

또한 "setAge()" 메소드는 여전히 호출될 수 있다는 점에 유의해야 합니다. 클래스 내부에는 공개되어 있기 때문입니다.

위의 두 가지 방법 외에도 PHP의 리플렉션 API를 사용하여 개인 속성에 액세스할 수도 있습니다. 리플렉션 API는 클래스의 비공개 멤버에 액세스하고 수정할 수 있는 PHP에서 제공하는 강력한 도구이지만 사용하기가 더 복잡하고 심층적인 학습과 이해가 필요합니다.

요약하자면, 공용 액세스 메서드나 수정 메서드를 정의하면 클래스 외부의 프라이빗 속성에 액세스하고 수정할 수 있습니다. 이 방법은 코드의 유연성과 유지 관리성을 향상시킬 수 있지만 프라이빗 속성이 실수로 수정되지 않도록 보호하는 데 주의가 필요합니다. 일반적으로 클래스 외부의 프라이빗 속성에 직접 액세스하지 않도록 해야 합니다.

위 내용은 PHP 개인 속성 호출 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿