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

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

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

具体例を示します。

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

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 を使いましょう。 非推奨になったオプションは、以下のとおりです。