BLOGTIMES
2008/07/28

E_STRICTのときに表示されるエラーメッセージ

  php 
このエントリーをはてなブックマークに追加

先日、しづきさんにプラグインをE_STRICTで実行するとエラーが出るという話を聞いた気がするので、E_STRICTにするとどんなエラーが出るのか調べていたら、E_STRICTにすると出現するエラーのまとめサイトを見つけたのでメモ。そういえば、もう少しでPHP 4.x系のメンテナンスが完全に停止されますね。

PHP E_STRICTで表示されるエラーメッセージを調べてみた | Shin x blog

PHP5で推奨されていないスクリプトをチェックするのがE_STRICTです。E_STRICTが有効なのは分かっていたのですが、実際にどんなスクリプトがE_STRICTに引っかかるのかが、あやふやでした。

そこでE_STRICTで出力されるメッセージをPHPのソースから抜き出してみました。どのようなスクリプトがE_STRICTに引っかかるのか(引っかからないか)のヒントになればと思います。

これを読んでNucleus関連に当てはまりそうなところを考えてみると、参照の取り扱い関連の2. Assigning the return value of new by reference is deprecatedとか、8. Only variables should be assigned by referenceあたりが膨大に出そうな気がします。対応としては、ソースコード中から =& を取り除くことになるのだと思いますが、本当に副作用がないのかどうかを検証するのは骨が折れそうです。


    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/2642
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    しづき [OpenID] (2008/07/30 10:33) https://me.yahoo.co.jp/a/WB3Pu2FOduIcjHvtudbv7eSF.uFUK7ui <%HatenaAuth()%>

    4. Declaration of %s::%s() should be compatible with that of %s::%s()

    も大量に出ます
    各ラグインのdoSkinVar()、doTemplateVar()、etc...
    これ全部
    $args = func_get_args();
    で書き直さなきゃなんないんですかねぃ...

    Comments Form

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン