작은숲:위키노트/PHP 5.6/폐기 예정된 기능: 두 판 사이의 차이
잔글 판 1개를 가져왔습니다: 자유위키의 위키노트 데이터 가져옴 |
잔글 Utolee90님이 PHP 5.6/폐기 예정된 기능 문서를 넘겨주기를 만들지 않고 작은숲:위키노트/PHP 5.6/폐기 예정된 기능 문서로 이동했습니다: 위키노트 문서 작은숲으로 이동 |
||
| (같은 사용자의 중간 판 7개는 보이지 않습니다) | |||
| 9번째 줄: | 9번째 줄: | ||
호환이 되지 않는 상황에서 호출된 메소드는 이제 더 이상 지원하지 않을 예정이다. 이런 호출을 사용하는 경우 <tt>E_STRICT</tt> 대신 <tt>E_DEPRECATED</tt> 오류가 발생한다. 이러한 호출을 지원하는 것은 다음 버전에서 없어질 것이다. | 호환이 되지 않는 상황에서 호출된 메소드는 이제 더 이상 지원하지 않을 예정이다. 이런 호출을 사용하는 경우 <tt>E_STRICT</tt> 대신 <tt>E_DEPRECATED</tt> 오류가 발생한다. 이러한 호출을 지원하는 것은 다음 버전에서 없어질 것이다. | ||
아래와 같은 경우가 여기에 해당된다. | 아래와 같은 경우가 여기에 해당된다. | ||
< | <syntaxhighlight lang="php"> | ||
<?php | <?php | ||
class A { | class A { | ||
| 17번째 줄: | 17번째 줄: | ||
}(new B)->f(); | }(new B)->f(); | ||
?> | ?> | ||
</ | </syntaxhighlight> | ||
이 코드의 출력은 아래와 같다. | 이 코드의 출력은 아래와 같다. | ||
<pre> | <pre> | ||
| 23번째 줄: | 23번째 줄: | ||
B</pre> | B</pre> | ||
=== $HTTP_RAW_POST_DATA와 always_populate_raw_post_data === | === $HTTP_RAW_POST_DATA와 always_populate_raw_post_data === | ||
<code>php.ini</code>에서 <tt>[[위키노트 | <code>php.ini</code>에서 <tt>[[작은숲:위키노트/PHP:always_populate_raw_post_data|always_populate_raw_post_data]]</tt> 지시자를 사용하면 <tt>[[작은숲:위키노트/PHP:$HTTP_RAW_POST_DATA|$HTTP_RAW_POST_DATA]]</tt> 변수의 값을 풀어낼 때 <tt>E_DEPRECATED</tt> 오류가 발생한다. 앞으로는 <tt>[[작은숲:위키노트/PHP:$HTTP_RAW_POST_DATA|$HTTP_RAW_POST_DATA]]</tt> 대신 <code>php://input</code>를 사용하는 것이 좋다. <tt>[[작은숲:위키노트/PHP:$HTTP_RAW_POST_DATA|$HTTP_RAW_POST_DATA]]</tt> 변수는 다음 버전에서 제거될 예정이다. <tt>[[작은숲:위키노트/PHP:$HTTP_RAW_POST_DATA|$HTTP_RAW_POST_DATA]]</tt> 변수가 정의되지 않고 <tt>E_DEPRECATED</tt> 오류가 발생하지 않도록 <tt>[[작은숲:위키노트/PHP:always_populate_raw_post_data|always_populate_raw_post_data]]</tt> 지시자를 <tt>-1</tt>로 설정할 수 있다. | ||
< | <syntaxhighlight lang="php"> | ||
<?php | <?php | ||
ini_set('always_populate_raw_post_data', -1); | ini_set('always_populate_raw_post_data', -1); | ||
| 30번째 줄: | 30번째 줄: | ||
echo $HTTP_RAW_POST_DATA; | echo $HTTP_RAW_POST_DATA; | ||
?> | ?> | ||
</ | </syntaxhighlight> | ||
=== iconv와 mbstring의 인코딩 설정 === | === iconv와 mbstring의 인코딩 설정 === | ||
인코딩과 관련된 iconv와 mbstring의 설정 옵션이 폐기 예정이다. 대신 <tt>default_charset</tt> 지시자를 쓰는 것이 좋다. 폐기 예정인 옵션을 다음과 같다. | 인코딩과 관련된 iconv와 mbstring의 설정 옵션이 폐기 예정이다. 대신 <tt>default_charset</tt> 지시자를 쓰는 것이 좋다. 폐기 예정인 옵션을 다음과 같다. | ||
| 40번째 줄: | 40번째 줄: | ||
* <tt>mbstring.internal_encoding</tt> | * <tt>mbstring.internal_encoding</tt> | ||
{{PHP}} | {{PHP}} | ||
[[분류:공유]] | [[분류:위키노트/공유]] | ||
[[분류:PHP]][[분류:위키노트에서 가져온 문서]] | [[분류:PHP]]{{퍼온문서|위키노트|{{#invoke:string|replace|{{PAGENAME}}|위키노트:|}}}}[[분류:위키노트에서 가져온 문서]] | ||
2022년 5월 7일 (토) 19:18 기준 최신판
|
이 글은 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 | |
| 확장 기능 | |
| 활용 | |
| 소프트웨어 | |