2016-06-24 80 views
0

是否有可能打印具有內部函數的值一個變量但它從外部函數的調用打印面向對象編程PHPPHP OOP打印的所具有的功能中值的變量,但是從外面打電話要打印

讓我們通過實例講解

我的類是什麼樣子的:

class my { 
    public $a; 

    public function myFunc(){ 
     $name = "fahad"; 
     echo $this->a; 
    } 

} 

應該打印$name值時的功能是通話,因爲我想:

$class = new my(); 
$class->a = '$name'; 
$class->myFunc(); 

但我以前不工作,並打印出結果爲:

$name 

我想它應該打印變量$name這是裏面的值函數

怎麼可能?

謝謝。

+0

這是一個壞主意。它違反了抽象。你爲什麼想這樣做? – Will

+0

,因爲我不想沉重我的班級功能和一些數據想從外部調用 –

+0

@ ShiraNai7答案解決了我的問題 –

回答

2

您可以使用variable variables要做到這一點,但它通常被認爲是不好的做法。

class my { 
    public $a; 

    public function myFunc(){ 
     $name = "fahad"; 
     echo ${$this->a}; 
    } 
} 

$class = new my(); 
$class->a = 'name'; 
$class->myFunc(); 

輸出:

fahad 
+0

非常感謝你解決了我最大的問題,那就是我想要的 –

0

裏面的功能,你可以做一個檢查:

public function myFunc(){ 
    if($this->a == '$name'){ 
     $name = 'fahad'; 
     echo $name; 
    }else echo $this->a; 
}