を使用して、インターフェイスのDateTimeInterface、XeroなどのAPIを実装する必要があります。キャッチできる致命的なエラー:会計\納品書\ XeroPHP \モデルに渡される引数1を:: setDueDateは()インタフェースDateTimeInterfaceを実装する必要があり、文字列が請求書:: setDueDate()私は、このエラー持ってこの<a href="https://github.com/calcinai/xero-php" rel="nofollow">wrapper</a></p> <p>を、次の午前calcinai
与えられたこれは私のコードです:
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