我知道这与我的上一个问题PHP Static vs Instance
类似但我不想在那里添加并混淆这个问题,我相信它确实存在其作为一个问题的优点
我有三个班级Billing Invoice InvoiceItem
结算类计算结算并完成发票的数据以及发票项$billing
和$billingItems
问题是如何调用所需的方法
在结算类
$invoice = new Invoice();
$invoice->createFomBilling($billing, $billingItems);
我:
1
在发票类
中public function createFomBilling($billing, $billingItems)
{
foreach($billingItems as $billingItem)
{
$item = new InvoiceItems();
$item->setDataFromBilling($billingItem);
}
}
在InvoiceItem类
中public function setDataFromBilling($billingItem)
{
$this->item1 = $billingItem->item1;
$this->item2 = $billingItem->item2;
$this->item3 = $billingItem->item3;
$this->item4 = $billingItem->item4;
$this->item5 = $billingItem->item5;
$this->save();
}
OR
2
在发票类
中public function createFomBilling($billing, $billingItems)
{
foreach($billingItems as $billingItem)
{
$item = new InvoiceItems();
$item->item1 = $billingItem->item1;
$item->item2 = $billingItem->item2;
$item->item3 = $billingItem->item3;
$item->item4 = $billingItem->item4;
$item->item5 = $billingItem->item5;
$item->save();
}
}
这样我在发票类中完成所有操作,并且我不在invoiceItem类中编写代码
任何想法