2009年2月24日 星期二

{PHP}使我爆腦 ''CLASS'' 第二章

繼第一章之後

再來是變數指向問題

以下是函數

class TryClass {
public $val = 'Value';

public function echoValue(){
echo $this->val;
}

public function echoHelloWolrd (){
echo 'Hello World!!';
}
}
$a = new TryClass;
//new一個新的TryClass

$a->echoHelloWolrd();
//呼叫$a的echoHelloWolrd()
TryClass::echoHelloWolrd();
//直接呼叫TryClass的echoHelloWolrd()

echo $a->val;
//秀出$a裡$val的值
$a->echoValue();
//呼叫$a的echoValue()

//TryClass::echoValue();
//直接呼叫TryClass的echoValue()##不執行##

原因是$a是被new出來的

所以記憶體裡面有public $val = 'Value';

而echoValue()裡面的$this->val;只是存的指向

但是echoHelloWolrd ()卻是實質的給了記憶體一個字串而不是指向

沒有留言:

張貼留言