[PHP-users 18925]Re: $thisの扱い、代替手段について
Takeo Matumoto
hac20680 @ rio.odn.ne.jp
2003年 11月 14日 (金) 19:54:03 JST
返信遅れまして申し訳ありません、松本です。
例えば、あるインスタンスのフィールドの値を元に、別のインスタンスを
初期化するような場合です、以下にテストコードを示します。
<?php
class test1{
var $a = "testtest";
var $b = "TESTTEST";
function getA(){
return $this->a;
}
function getB(){
return $this->b;
}
function createTest2(){
return new test2($this);
}
}
class test2{
var $a;
var $b;
function test2($test1){
$a = $test1->getA();//test1クラスのインスタンスのフィールド値を元に、
$b = $test1->getB();//test2クラスのインスタンスフィールドを初期化
}
function getA(){
return $this->a;
}
function getB(){
return $this->b;
}
}
$test1 = new test1();
$test2 = $test1->createTest2();
$a = $test2->getA();
$b = $test2->getB();
print($a);
print($b);
?>
これを実行すると何も表示されません。
($test2->a,$test2->bが期待した$test1->a,$test2->bの値を受け取れていません)
これを見ますと、参照渡しもできていませんし、値渡しさえできていないように思います。
PHP-users メーリングリストの案内