[PHP-users 3541] Re: コンストラクタ内での$this の代入

KOYAMA Tetsuji php-users@php.gr.jp
Wed, 14 Nov 2001 20:35:05 +0900


  小山です。
  ソースを調べたわけではないので確実なことではありませんが。

At Wed, 14 Nov 2001 15:17:43 +0900,
Mashiki wrote:
> 
> この振る舞いはどのように解釈したらよいのでしょうか。
> ・クラスは無限に作られているのでしょうか?
> ・有限の個数が決められており、コンストラクタ実行時に
>  そこまでのコピーが作られるのでしょうか?
> ・または都合よく、参照なり、代入したときに新たに作成
>  されるのでしょうか?

  3番目だと思います。PHP の文法の基本として、参照・代入の際に対象が存
在しなければ勝手に生成というのがあります。今回の例もそれに習って、参照
なり代入なりが発生した時点でオブジェクトが生成されたと考えるのが適当だ
と思います。

> ・オブジェクト生成時にコンストラクタに、多数のパラメータを渡し
>  複雑な(コストの かる)処理をさせたい
> ・生成後もメソッドにより随時状態が変わっていく
> ・オブジェクト自身のメソッドにより、生成時との差を取得したい

  今回のような再起的な参照がなければ、serialize して文字列として保存し
ておくとか。

-- 
	小山 哲志@ビート・クラフト
	koyama@beatcraft.com
	koyama@hoge.org