작은숲:위키노트/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 5.6/폐기 예정된 기능 문서입니다.