Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge

Call to a member function toArray() on a non-object

marcomist2003 / 4 Antworten / Baumansicht Nickles

Erst mal hallo an alle!

Ich wollte fragen ob ihr mir bei einem problem helfen könnt. Ich komm da einfach nicht weiter.
Ich bekomme einen fehler bei einem tool von Joomla:
Fatal error: Call to a member function toArray() on a non-object in /managereve/plugins/eveapi/evewalletjournal.php on line 64

Das tool heisst joomla-to-eve, ist open source und das projekt ist leider tot. Hier ist der link zum projekt:
http://code.google.com/p/joomla-in-eve/

Ich hab schon versucht das problem zu lósen, aber ich bekomme es einfach nicht hin, den so weit gehen nicht meine kentnisse. Ich versuche noch php zu lernen. Die datei ist in pastebin: http://pastebin.com/BnXLAYPv

Wisst ihr wie ich das lösen kann? Mir reicht auch nur ein ansporn, damit ich weiss wie/wo ich suchen muss um den zu muss. Ich verstehe leider nicht so richtig davon.

MfG
Marc

Mein Computer redet klar: Il dump dello stato è costituito da un dump del registro.
bei Antwort benachrichtigen
Borlander marcomist2003 „Call to a member function toArray() on a non-object“
Optionen

Hast Du Dir denn schon mal angeschaut was da überhaupt im Paramater $xml übergeben wird?

Call to a member function toArray() on a non-object in /managereve/plugins/eveapi/evewalletjournal.php on line 64
Das heißt ja erst mal, dass $xml->result->entries kein Objekt ist.

Wenn entries nicht mindestens einen Eintrag enthält ist der Aufruf von _storeWalletJournal(...) wenig sinnvoll. Zeile 73 schaut ein bisschen so wie ein Versuch aus bei fehlenden Einträgen auf das absenden des INSERT-Befehls an die Datenbank zu verzichten. Vielleicht sollte man den gesamten Inhalt der Funktion überhaupt nur ausführen wenn $xml->result->entries vom erwarteten Typ (der eine Methode toArray() implementieren muss) ist und die Länge des Arrays größer 0 ist...


Gruß
Borlander

bei Antwort benachrichtigen
marcomist2003 Borlander „Hast Du Dir denn schon mal angeschaut was da überhaupt im Paramater xml...“
Optionen

ok, so weit hab ich das verstanden. Die XML die er bekommt ist von einem API server. Die XML die er sendet ist so wie in dem Beispiel hier: http://wiki.eve-id.net/APIv2_Char_JournalEntries_XML
aber trotzdem verstehe ich nicht wieso. Bekommt er etwa keine daten? Oder ist die XML falsch? Wenn ja, wie bekomme ich ihn dazu eine sinvollere fehlermeldung auszugeben, oder wenigstens den inhalt der XML? Den wenn ich manuell die API anfrage mache bekomme ich das wieder was ich will.
Es ist alles einfach zu kompliziert (aber ich hoffe dabei etwas zu lernen^^).

MfG
Marc

Mein Computer redet klar: Il dump dello stato è costituito da un dump del registro.
bei Antwort benachrichtigen
Borlander marcomist2003 „ok, so weit hab ich das verstanden. Die XML die er bekommt ist von einem API...“
Optionen

Die Frage ist eher was in der Variable $xml steckt, bzw. wie die XML-Daten in ein Objekt umgesetzt wurden.

Sofern das Objekt in $xml Zugriff über den DOM-Baum erlaubt (sieht ein bisschen danach aus, weil das Element result existiert), dann würde ich es eher mal mit $xml->result->rowset probieren. Wobei zu klären würde ob entries hier auf ein Element referenziert, oder auf die Menge aller Kindelemente (womit wir wieder beim ersten Ansatz wären)...

Gruß
Borlander

bei Antwort benachrichtigen
Borlander marcomist2003 „Call to a member function toArray() on a non-object“
Optionen

Statt den Thread zum Löschen vorzuschlagen, verrate doch lieber wie Du das Problem lösen konntest...

Gruß
Borlander

bei Antwort benachrichtigen