>백엔드 개발 >PHP 문제 >PHP 호출 매직 메소드의 기능은 무엇입니까

PHP 호출 매직 메소드의 기능은 무엇입니까

青灯夜游
青灯夜游원래의
2021-09-03 11:44:372179검색

php "__call()" 매직 메소드는 존재하지 않거나 액세스할 수 없는 메소드를 호출할 때 호출됩니다. 이 메소드의 기능은 프로그램이 계속 실행되도록 하고 호출된 메소드가 없거나 존재하지 않을 때 발생하는 오류를 방지하는 것입니다. 접근 불가.

PHP 호출 매직 메소드의 기능은 무엇입니까

이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터

객체 지향 프로그래밍에서 PHP는 프로그래밍에 많은 편의를 제공하는 일련의 매직 메소드를 제공합니다. PHP에서 역할은 매우 중요합니다. PHP의 매직 메소드는 일반적으로 __(두 개의 밑줄)로 시작하며 명시적으로 호출할 필요는 없지만 특정 조건에서 자동으로 호출됩니다.

그 중 __call() 또는 __callStatic() 메서드는 오버로딩을 달성하도록 설계되었습니다. __call 메서드를 소개하겠습니다.

php __call 매직 메소드

__call() 메소드는 클래스에 접근할 수 없거나 존재하지 않는 메소드가 호출될 때 호출됩니다. 이 메소드의 구문 형식은 다음과 같습니다.

public function __call($name, $arguments){
    ... ... ;
}

여기서 $name은 호출할 메소드의 이름이고 $arguments는 $name에 전달된 매개변수 배열입니다.

호출된 메소드가 존재하지 않으면 __call() 메소드가 자동으로 호출되어 프로그램이 계속 실행되므로 호출 메소드가 존재하지 않을 때 오류로 인한 프로그램 종료를 방지할 수 있습니다.

【예제】 다음은 __call() 메서드의 사용법을 보여주기 위해 간단한 예를 사용합니다.

<?php
header("Content-type:text/html;charset=utf-8");
class Website{
    public function say(){
        echo &#39;Welcome PHP中文网!<br>&#39;;
    }
    public function __call($name, $arguments){
        echo &#39;你所调用的方法:&#39;.$name;
        if(!empty($arguments)){
            echo &#39;【以及参数:&#39;;
            print_r($arguments);
            echo &#39;】&#39;;
        }
        echo &#39; 不存在!<br>&#39;;
    }
}
$obj = new Website();
$obj -> say();
$obj -> url(&#39;https://www.php.cn/&#39;);
$obj -> title();
?>

실행 결과는 다음과 같습니다.

PHP 호출 매직 메소드의 기능은 무엇입니까

추천 학습: "PHP Video Tutorial"

위 내용은 PHP 호출 매직 메소드의 기능은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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