라이브러리

[PHP] forward_static_call - 정적 메서드 호출




PHP에서 Forward Static Call

PHP 5.4에서 소개된 `forward_static_call` 함수는 PHP에서 사용할 수 있는 새로운 기능입니다. 이 함수는 클래스 내부에서 정적 메소드를 호출할 때 사용됩니다. 하지만, 이 함수는 PHP 7.2.0부터 deprecated되었으며, PHP 8.0.0부터는 사용할 수 없습니다.

Forward Static Call이란?

`forward_static_call` 함수는 클래스 내부에서 정적 메소드를 호출할 때 사용됩니다. 예를 들어, 클래스 내부에서 `self` 또는 `static` 키워드를 사용하여 정적 메소드를 호출할 때, 이 함수를 사용할 수 있습니다.

예제

#hostingforum.kr
php

class MyClass {

    public static function myStaticMethod() {

        echo "정적 메소드가 호출되었습니다.
";

    }



    public function myInstanceMethod() {

        echo "인스턴스 메소드가 호출되었습니다.
";

    }

}



// 정적 메소드 호출

MyClass::myStaticMethod();



// 인스턴스 메소드 호출

$obj = new MyClass();

$obj->myInstanceMethod();



// forward_static_call 사용

forward_static_call(array('MyClass', 'myStaticMethod'));



위 예제에서, `forward_static_call` 함수를 사용하여 `MyClass` 클래스의 `myStaticMethod` 메소드를 호출했습니다. 이 함수는 `self` 또는 `static` 키워드를 사용하여 정적 메소드를 호출할 때 사용됩니다.

PHP 7.2.0부터 deprecated된 forward_static_call

PHP 7.2.0부터 `forward_static_call` 함수는 deprecated되었으며, PHP 8.0.0부터는 사용할 수 없습니다. 대신, `self` 또는 `static` 키워드를 사용하여 정적 메소드를 호출할 수 있습니다.

#hostingforum.kr
php

class MyClass {

    public static function myStaticMethod() {

        echo "정적 메소드가 호출되었습니다.
";

    }



    public function myInstanceMethod() {

        echo "인스턴스 메소드가 호출되었습니다.
";

    }

}



// 정적 메소드 호출

MyClass::myStaticMethod();



// 인스턴스 메소드 호출

$obj = new MyClass();

$obj->myInstanceMethod();



위 예제에서, `self` 키워드를 사용하여 `MyClass` 클래스의 `myStaticMethod` 메소드를 호출했습니다. 이 방법은 `forward_static_call` 함수를 사용하는 것과 동일한 결과를 얻을 수 있습니다.

결론

`forward_static_call` 함수는 PHP 5.4에서 소개된 기능이었지만, PHP 7.2.0부터 deprecated되었으며, PHP 8.0.0부터는 사용할 수 없습니다. 대신, `self` 또는 `static` 키워드를 사용하여 정적 메소드를 호출할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 545 페이지

검색

게시물 검색