PHP 4.4.0

PHP 4.4.0ではいったリファレンスがらみの修正は結構既存のものたちへの影響もでているようです。Mapleも例外でないようで結構信じられないところでNOTICEがでるという報告をいただいています。

まだ、4.4.0の環境がつくれてないので、これから試してみようと思います。どうしてもあげないといけない方以外はしばらく4.3.11で様子をみていただければと・・・

追記 PHP 4.4.0の環境をつくって、E_ALLの状態にしてるけどNOTICEでないなー。でるって報告をうけたんだけど。もうちょっとしらべてみるか。 NOTICEでました・・・以前からのくせで以下のように書いている部分が全滅です。

class Controller {
    /**
     * コンストラクター
     *
     * @access  public
     * @since   3.0.0
     */
    function &Controller() {
    }
              :
       (以下略)
}

意味はないことは知りながらコンストラクターに「&」をつけてましたが、つけると「Notice: Only variable references should be returned by reference」がでます。

えーい、うっとおしい!という方はすみませんが全てのクラスのコンストラクターから「&」をはずしてください・・・3.0.1からは全部はずしたものをリリースします。ま、確かにコンストラクターはなにも返却しないので「&」つけるのは無意味(というか間違いか・・・)とは思ってましたが、まさか実害がでるとは・・・