taocomp / php-e-invoice-it

A PHP package for managing italian e-invoice and notice XML formats. (Pacchetto PHP per gestire il formato XML di fatture e notifiche come richiesto dal SdI).
GNU General Public License v3.0
74 stars 22 forks source link

Call to undefined method DOMNodeList::count() #6

Closed ziovanja closed 5 years ago

ziovanja commented 5 years ago

Buongiorno Alessandro,

segnalo la presenza due errori identici che hanno a che fare con il count() dei record restituiti da una query, ho corretto localmente il il file src/FatturaElettronica.php alla riga 477 come segue:

$causaleCount = count($this->query('DatiGeneraliDocumento/Causale', $body));

e il file src/AbstractDocument.php alla riga 443 come segue:

$count = count($elements);

A me interessa solo la generazione del file XML quindi non sono certo che il problema non si presenti altrove, ma volevo segnalartelo sperando di poterti essere d'aiuto.

Effettuate queste due semplici modifiche il tuo script funziona alla perfezione :)

Se ti può essere di qualche utilità, sto utilizzando Debian 8.11 con ISPConfig e PHP 7.1.2 compilato da noi.

Buona giornata, buon lavoro e BUON 2019!

aded commented 5 years ago

Grazie @ziovanja per la segnalazione e buon 2019 anche a te! :-)

Il metodo count() (ovvero l'interfaccia Countable) sulle DOMNodeList è stato implementato a partire dal PHP 7.2, ecco perché ti dava errore. Sostituito con la proprietà length, adesso dovrebbe essere ok (ma non posso testarlo, non ho un PHP < 7.2 sotto mano... Fammi sapere :-)).

Ciao e ancora buon anno!

ziovanja commented 5 years ago

Ho scaricato il nuovo codice, funziona anche con PHP 7.1 ottimo! 👍