2013-02-24 26 views
1

我很新的PHP編程。 我試圖做一些不是非常困難的事情,儘管如此,下面的VERY BASIC代碼不會返回錯誤或顯示任何輸出。 玩耍我猜它與$ this - > ... line有關,我無法弄清楚爲什麼在對象內部調用函數不起作用。 請幫忙!!!世界上的任何人都知道爲什麼這個PHP對象調用不起作用嗎?

class TargetBuy { 

    public $ClientCode; 
    public $Service; 
    public $ServiceType; // Emissione, Cambio, Riemissione, Rimborso, NoShow... 
    public $RateType; // tipo tariffa 
    public $Segment; // tratta 
    public $CityHotel; 
    public $TicketType; // one way or round trip 
    public $AdvancePurchase; 
    public $Penalty; 
    public $Taxes; // 0=NotIncluded; 1=Included 
    public $FinalPrice; 

    function CalculateTB_Price() { 
     $this->ClientCode='Hello'; 
     echo $ClientCode; 
    } 

} 

$TB = new TargetBuy; 

$TB->CalculateTB_Price(); 
+3

您正在使用'$ this-> ClientCode'來更改屬性。但之後會期望存在一個局部變量'$ ClientCode'(缺少'$ this->')。或者你是指另一個問題?描述你的錯誤,啓用error_reporting等 – mario 2013-02-24 14:54:48

+2

我喜歡標題 – Akshat 2013-02-24 14:56:07

回答

4

,因爲在功能上最後一排,打印$this->ClientCode

+0

Fuu .... nny ...你是對的。這樣愚蠢的錯誤!非常感謝 – 2013-02-24 15:06:13

+0

非常感謝:) – 2013-02-25 09:03:53

3

$ClientCode沒有定義VAR $ClientCode而不是VAR,請啓用正確error reporting這將提醒你一下。相反,你必須使用echo $this->ClientCode;

您應該閱讀關於面向對象編程的基礎知識。

+0

要在任何PHP腳本中啓用完整的錯誤報告,請使用: 'ini_set('display_errors',1); error_reporting(E_ALL);'...儘管理想情況下,您的系統會設置爲在本地/開發/臨時服務器上自動顯示錯誤,而不會在生產(實時)服務器上顯示它們。 – 2013-02-24 14:58:33

+0

甚至更​​好:在你的php.ini配置中啓用,如我在答案中的鏈接所述;) – str 2013-02-24 14:59:59

+0

謝謝隊友!現在正在工作 – 2013-02-24 15:06:38

相關問題