PHP에서 제공하는 "오버로딩"은 클래스 속성과 메서드를 동적으로 "생성"하는 것을 의미합니다. 우리는 마법의 방법을 통해 이를 수행합니다. 오버로드된 메서드는 현재 환경에서 정의되지 않았거나 액세스할 수 없는 클래스 속성이나 메서드가 호출될 때 호출됩니다. 오버로드된 모든 메서드는 공개로 선언되어야 합니다.
**참고:** PHP의 "오버로딩"은 대부분의 다른 객체 지향 언어와 다릅니다. 전통적인 "오버로딩"은 동일한 이름을 가진 여러 클래스 메서드를 제공하는 데 사용되지만 각 메서드의 매개 변수 유형과 개수는 다릅니다.
public void __set ( string $name , mixed $value ) public mixed __get ( string $name ) public bool __isset ( string $name ) public void __unset ( string $name )
액세스할 수 없는 속성에 값을 할당하면 __set()이 호출됩니다.
액세스할 수 없는 속성의 값을 읽으면 __get()이 호출됩니다.
__isset()은 액세스할 수 없는 속성에 대해 isset() 또는 empty()가 호출될 때 호출됩니다.
액세스할 수 없는 속성에 대해 unset()이 호출되면 __unset()이 호출됩니다.
매개변수 $name은 연산할 변수의 이름을 의미합니다. __set() 메서드의
name 변수 값입니다.
속성 오버로드는 객체에서만 수행할 수 있습니다. 정적 메서드에서는 이러한 매직 메서드가 호출되지 않습니다. 따라서 이러한 메서드 중 어느 것도 정적으로 선언할 수 없습니다. PHP 5.3.0부터 이러한 매직 메서드를 정적으로 정의하면 경고가 생성됩니다.
public mixed __call ( string $name , array $arguments ) public static mixed __callStatic ( string $name , array $arguments )
객체에서 접근할 수 없는 메소드가 호출되면 __call()이 호출됩니다.
정적 컨텍스트에서 액세스할 수 없는 메서드를 호출하면 __callStatic()이 호출됩니다.
arguments 매개변수는 $name 메소드에 전달될 매개변수가 포함된 열거형 배열입니다.
PHP에서 제공하는 "오버로딩"은 클래스 속성과 메서드를 동적으로 "생성"하는 것을 의미합니다. 우리는 마법의 방법을 통해 이를 수행합니다.
현재 환경에서 정의되지 않았거나 접근할 수 없는 클래스 속성이나 메서드를 호출하면 오버로드된 메서드가 호출됩니다.
오버로드된 모든 메서드는 공개로 선언되어야 합니다.
**참고:** PHP의 "오버로딩"은 대부분의 다른 객체 지향 언어와 다릅니다. 전통적인 "오버로딩"은 동일한 이름을 가진 여러 클래스 메서드를 제공하는 데 사용되지만 각 메서드의 매개 변수 유형과 개수는 다릅니다.
관련 추천:
php 상속에서 메소드 오버로딩(덮어쓰기) 적용 사례, php 오버로딩
위 내용은 PHP의 오버로딩 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!