如何在PHP中调用子对象属性?

时间:2018-01-05 06:07:57

标签: php oop

假设我有两个类,“产品”和“品牌”。

产品具有以下属性:
-ProductID
-ProductName
-ProductBrandID
-ProductCost

品牌
-BrandID
-BrandName
-BrandLogo

让我们说在Product类中,我已经:

GetID()返回一个整数
GetName()返回一个字符串
GetBrand()返回品牌对象

我已经使GetBrand()成功返回整个Brand对象,但是如何引用此Brand对象的属性?

换句话说:

如何从产品对象返回的品牌对象中获取BrandName属性?

$Product = new Product(10); //"Create" a Product object and load the Product #10 from DB;  
$BrandName = $Product->GetBrand()->getName(); //How to do this?

PS:我想避免使用子类,因为我需要在另一个上下文中调用Brand类,而不首先引用Product。

PS²:如何调用这个“方法”?

2 个答案:

答案 0 :(得分:0)

我假设您在id字段上都有双向实体关联映射: -

$productOdj = new Product(10);  
$Brand = $productOdj->getBrand();
$brandObj = new Brand($Brand->getId());

希望它适合你。
快乐编码: - )

答案 1 :(得分:0)

您可以在Product类中创建方法callBrand并获取品牌名称

function callBrand()
 {
   $Brand= new Brand();
   $BrandName = $Brand->BrandName();
   echo $BrandName;
 }