Php/docs/migration56.deprecated

提供:Dev Guides
< Php
移動先:案内検索

PHP 5.6.x で推奨されなくなる機能

非互換のコンテキストからの呼び出し

非互換のコンテキストからのメソッド呼び出しが非推奨となり、 E_STRICT ではなく E_DEPRECATED が発生するようになりました。 この機能は、将来のバージョンの PHP で削除される予定です。

具体例を示します。

<?phpclass 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

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 を設定します。


iconv および mbstring のエンコーディング設定

iconv および mbstring の、エンコーディングに関するオプションが非推奨となりました。 代わりに default_charset を使いましょう。 非推奨になったオプションは、以下のとおりです。