因此我對OOP PHP很新穎。 我試圖去感受它, 我正在makeing有2個功能無法將字符串轉換爲變量
一個用於汽車的速度的簡單類(他嘗試的TE看到,如果速度是一個很好的值)
和一個對於汽車的顏色(檢查是否顏色vailid)
錯誤,我得到:
Catchable fatal error: Object of class Auto could not be converted to string in E:\Site peter+usbweb\root\stage\oef\Auto.php on line 44
這裏是我的代碼:
<?php
class Auto {
public $mKleur = "";
public $mSpeed = "";
public function speed ($var){
if(is_numeric($var)){
if($var < 0 OR $var == 0)
{
$this->mSpeed = ("$var kmpu rijd die waggie niet eens?!");
}
elseif ($var > 206 OR $var == 206)
{
$$this->mSpeed = ("$var kmpu haalt de auto niet!");
}
elseif($var > 0 AND $var < 206)
{
$$this->mSpeed = ("de auto reed met $var kmpu langs!");
}
}
else
{
$$this->mSpeed = (" $var dat niet eens een getal....");
}
}
private $sKleur = "";
public function __set($sAttribuut, $sValue){
switch($sAttribuut){
case 'sKleur':
$aValideKleuren = array('groen', 'rood', 'blauw', 'paars', 'geel', 'wit', 'zwart','grijs','oranje');
if(!in_array(strtolower($sValue), $aValideKleuren)){
$$this->mKleur = ("Kleur niet bekend: $sValue");
}
else{
$$this->mKleur = ("kleur is bekent namelijk: $sValue");
}
$this->sKleur = $sValue;
break;
default:
break;
}
}
public function __get($sAttribuut){
if(isset($this->$sAttribuut)){
return $this->$sAttribuut;
}
}
public function kk()
{
$message = array('gSpeed' => $this->mSpeed, 'gKleur' => $this->mKleur);
return($message);
}
}
?>
它確實工作,如果我使用回聲但我不能得到它返回值的
任何人都知道爲什麼?
不應該總是隻有$ this而不是$$ this嗎? – Niko 2014-10-22 07:15:13