2010-07-01 56 views
1

下面是我一直在嘗試的一些代碼,我已經搞砸了,包括die()和echo()在這裏和那裏,但沒有任何反應,如果我試着運行別人的類代碼,並且可以正常工作,但是我看不出我的代碼有什麼問題。當我使用PHP類時,什麼也沒有發生

class Form { 

    private $form_method; 

    public function __construct() 
    { 
     $form_method = '';  
    } 

    public function setFormMethod($method) 
    { 
     $this->$form_method=$method;  
    } 

    public function getFormMethod() 
    { 
     return $this->$form_method; 
    } 

} 

$newForm = new Form(); 
$newForm->setFormMethod('POST'); 
$var = getFormMethod(); 

echo $var; 

我在本地主機上通過XAMPP運行PHP 5.3.2。

任何幫助讚賞

+0

你有沒有PHP的標籤呢? Catfish 2010-07-01 21:03:16

回答

3

有幾件事,我看到。首先,當你使用「this」引用變量名時,你不應該包含$。

實施例:改變

return $this->$form_method; 

return $this->form_method; 

到getFormMethod()的調用也不會工作,因爲代碼指的是類的外部的方法。

變化

$var = getFormMethod(); 

$var = $newForm->getFormMethod(); 

鮎魚建議,你也可能會丟失的PHP標籤(除非您剛剛發佈的提取物)

此代碼應該工作(未經測試)

<?php 
class Form { 

    private $form_method; 

    public function __construct() 
    { 
     $this->form_method = '';  
    } 

    public function setFormMethod($method) 
    { 
     $this->form_method = $method;  
    } 

    public function getFormMethod() 
    { 
     return $this->form_method; 
    } 

} 

$newForm = new Form(); 
$newForm->setFormMethod('POST'); 
$var = $newForm->getFormMethod(); 

echo $var; 
?> 
+0

Stack Overflow將默認的開始和結束php標籤取出:)謝謝你解決了我的小問題沒有意識到$ this和返回變量的問題 – wiggles 2010-07-01 21:14:57

相關問題