2016-12-16 57 views
0

我是新來定義類,所以我希望這不是一個微不足道的問題。如何在PHP中定義一個複雜的對象類

我想在一個對象,我通過參數,比如訪問數據的集合,結束了:

AllData->A->Discount->Amount 
AllData->A->Discount->Percentage 
AllData->A->Claimed->Amount 
AllData->A->Claimed->Percentage 

我開始與

class AllData 
{ 
     public $Discount; 
     public $Claimed; 

} 

如何定義的下一個級別( A,A->金額,A->百分比等)的對象類?

+0

你應該詳細說明是否所有的內部對象擴展了相同的接口並且具有相同的屬性 – RomanPerekhrest

+0

有沒有不使用數組的原因? – simon

+0

一個數組可以像我描述的那樣在最簡單的情況下工作,但我試圖通過使用它們來擴展對類和對象的理解。 – user3765165

回答

2

你應該檢查\ stdClass out。

class AllData 
{ 
    public $Discount; 
    public $Claimed; 

    public function __construct() { 
     $Discount = new \stdClass(); 
     $Discount->Amount = 100; 
     $Discount->Percentage = 300; 
    } 
} 

現在,您可以訪問折扣金額如下:

$object = new AllData(); 
echo $object->Discount->Amount; 

這將是最快的方法,因爲它似乎你有隻包含屬性的類(所以stdClass的是對你罰款)。

+0

我不知道爲什麼我沒有在類中使用stdClass。 – user3765165

+0

屋大維的迴應讓我走上了正軌,但我該如何走向更高層次?如果我想要$ Discount-> Amount-> USA和$ Discount-> Amount-> CDN,我該如何定義這些?當我嘗試添加$ Discount-> Amount = new stdClass()時,我得到:「警告:從空值創建默認對象」 – user3765165

相關問題