PHP4 と PHP5 で __get(), __set(), __call() を共存する方法 PHP5 では クラスの __get()、__set() および __call() をネイティブにサポートしています。 一方 PHP4 でも 4.3 以降 overload() を実行することで、クラスのオーバーロードを行うことが可能で、__get()、__set() および __call() を使用することができます。 しかしそれぞれのメソッドのインターフェース仕様が異なっているため、これらを普通に使用した対象クラスは PHP4 用もしくは PHP5 用という限定した存在になってしまいます。 しかし以下のようにすることで、PHP4, PHP5 の共存が可能になります。 例として Foo クラスにて __call() を実装してみます。 Foo.php <?php class Foo {