實現接口DateTimeInterface,Xero的API我下面這個wrapper發票:: setDueDate()必須使用calcinai
我有這樣的錯誤:開捕致命錯誤:傳遞給XeroPHP \型號\會計\發票參數1 :: setDueDate()必須實現接口DateTimeInterface,串給出
這是我的代碼:
try{
$lineitem = new LineItem($this->_xi);
$lineitem->setAccountCode('200')
->setQuantity('5.400')
->setDescription('this is awesome test')
->setUnitAmount('9900.00');
$contact = new Contact($this->_xi);
$contact->setName("John Doe")
->setFirstName("John")
->setLastName("Doe")
->setEmailAddress("[email protected]")
->setContactStatus(Contact::CONTACT_STATUS_ACTIVE);
$invoice = new Invoice($this->_xi);
$invoice->setType(Invoice::INVOICE_TYPE_ACCREC)
->setStatus(Invoice::INVOICE_STATUS_AUTHORISED)
->setContact($contact)
//->setDate(\DateTimeInterface::format("Y-m-d"))
->setDueDate("2018-09-09")
->setLineAmountType(Invoice::LINEAMOUNT_TYPE_EXCLUSIVE)
->addLineItem($lineitem)
->setInvoiceNumber('10')
->save();
}catch (Exception $e){
$GLOBALS['log']->fatal('[Xero-createContact]-' . $e->getMessage());
echo $e->getMessage();
}
,當我試圖做這樣的:
->setDueDate(\DateTimeInterface::format("Y-m-d"))
我得到這個錯誤,而不是:致命錯誤:非靜態方法DateTimeInterface ::格式()不能靜態調用,假設$這種在不兼容的情況下
這是setDueDate的功能,我我打電話:
/**
* @param \DateTimeInterface $value
* @return Invoice
*/
public function setDueDate(\DateTimeInterface $value)
{
$this->propertyUpdated('DueDate', $value);
$this->_data['DueDate'] = $value;
return $this;
}
我真的失去了這裏,以我怎麼用這個DateTimeInterface,我怎麼甚至可以設置使用它將來的日期,以及如何解決這一切的錯誤。
其他發佈的答案工作,但我想知道爲什麼作者刪除它。非常感謝你的解釋和真正的幫助。 – hungrykoala