작은숲:위키노트/PHP 5.6/폐기 예정된 기능
|
이 글은 http://php.net/manual/en/migration56.deprecated.php의 내용을 번역한 것입니다. 원문의 저작권은 the PHP Documentation Group에게 있으며, 이 글의 라이선스는 원문의 라이선스(Creative Commons Attribution 3.0 License)를 따릅니다. |
호환이 되지 않는 상황에서의 호출
호환이 되지 않는 상황에서 호출된 메소드는 이제 더 이상 지원하지 않을 예정이다. 이런 호출을 사용하는 경우 E_STRICT 대신 E_DEPRECATED 오류가 발생한다. 이러한 호출을 지원하는 것은 다음 버전에서 없어질 것이다. 아래와 같은 경우가 여기에 해당된다.
<?php
class A {
function f() { echo get_class($this); }
}class B {
function f() { A::f(); }
}(new B)->f();
?>
이 코드의 출력은 아래와 같다.
Deprecated: Non-static method A::f() should not be called statically, assuming $this from incompatible context in - on line 7 B
$HTTP_RAW_POST_DATA와 always_populate_raw_post_data
php.ini에서 always_populate_raw_post_data 지시자를 사용하면 $HTTP_RAW_POST_DATA 변수의 값을 풀어낼 때 E_DEPRECATED 오류가 발생한다. 앞으로는 $HTTP_RAW_POST_DATA 대신 php://input를 사용하는 것이 좋다. $HTTP_RAW_POST_DATA 변수는 다음 버전에서 제거될 예정이다. $HTTP_RAW_POST_DATA 변수가 정의되지 않고 E_DEPRECATED 오류가 발생하지 않도록 always_populate_raw_post_data 지시자를 -1로 설정할 수 있다.
<?php
ini_set('always_populate_raw_post_data', -1);
$HTTP_RAW_POST_DATA = file_get_contents('php://input');
echo $HTTP_RAW_POST_DATA;
?>
iconv와 mbstring의 인코딩 설정
인코딩과 관련된 iconv와 mbstring의 설정 옵션이 폐기 예정이다. 대신 default_charset 지시자를 쓰는 것이 좋다. 폐기 예정인 옵션을 다음과 같다.
- iconv.input_encoding
- iconv.output_encoding
- iconv.internal_encoding
- mbstring.http_input
- mbstring.http_output
- mbstring.internal_encoding
| PHP 7.0 | |
|---|---|
| PHP 5.6 | |
| PHP 5.5 | |
| 확장 기능 | |
| 활용 | |
| 소프트웨어 | |