라이브러리
[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` 키워드를 사용하여 정적 메소드를 호출할 수 있습니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.