tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
5
ZUGRIFFE
290
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    nickinami nickinami ist offline Mitglied
    Registriert seit
    Apr 2007
    Beiträge
    14
    PHP-Code:
    $this->sTitle str_replace('KnowledgeTree'APP_NAME$this->aHelpInfo['title']); 
    Fatal error: Cannot use object of type PEAR_Error as array in C:\Programme\xampp\htdocs\docm\plugins\ktcore\KTDashlets.php on line 88

    Wie kann mann den obigen Code ändern, dass der Fehler nicht meht kommt?
    Ich vermute, dass es an diesem Stück liegt. Wenn ich den part ändern könnte, wäre mir denke ich auch schon sehr geholfen.
    PHP-Code:
    $this->aHelpInfo['title']) 
    danke im voraus
    nicki
     

  2. #2
    Avatar von nero_85
    nero_85 nero_85 ist offline Mitglied Platin
    Registriert seit
    Jul 2005
    Ort
    Österreich
    Beiträge
    734
    Hi!
    Erstmal einige Fragen an DICH :
    Was wird mit "APP_NAME" übergeben?
    Was willst du hier
    PHP-Code:
    $this->aHelpInfo['title']) 
    genau machen?
     
    Als Hirte erlaube mir, zu dienen mein Vater dir. Deine Macht reichst du uns durch deine Hand, diese verbindet uns wie ein heiliges Band! Wir waten durch ein Meer von Blut, gib uns dafür Kraft und Mut. In nomine partris et filii et spiritu sancti...

    KLICK HIER ;)

    Tokio-Hotel's "Durch den Monsun" mal anders.

    (\_/)
    (O.o) This is Bunny. Copy Bunny into your signature
    (> <) to help him on his way to world domination.

  3. #3
    nickinami nickinami ist offline Mitglied
    Registriert seit
    Apr 2007
    Beiträge
    14
    sry, hab wohl ein bißchen bei dem zweiten codeschnippsel vergessen zu schreiben!

    ich weiß leider auch nicht genau was da gemacht wird, das is ne fertige anwendung, die aber leider in der zeile immer einen fehler auswirft

    PHP-Code:
    $this->sTitle $this->aHelpInfo['title']; 

    das ist die zeile aus einer vorgängerversion. das ganze funktioniert mit php4 aber leider nicht mit php5, da wollte ich wissen wie man die zeile umformulieren kann, so das php5 die auch akzeptiert und keine fehler schmeißt
     

  4. #4
    Avatar von nero_85
    nero_85 nero_85 ist offline Mitglied Platin
    Registriert seit
    Jul 2005
    Ort
    Österreich
    Beiträge
    734
    Hmm! Also $this müsste eigentlich ein Objekt sein! APP_NAME nehme ich an ist eine Konstante.

    Ich denke mal, das Problem liegt nicht direkt bei dem APP_NAME sondern bei
    $this->aHelpInfo['title']

    Versuche mal, dass du dir $this->aHelpInfo['title'] ausgeben lässt:

    PHP-Code:
    print_r[$this->aHelpInfo['title']]; 
    Denn so eine konstruktion hab' ich noch nie gesehen. Vielleicht läufts aber auch wenn du vor das aHelpInfo ein $-Zeichen hängst. ($this->$aHelpInfo['title'])

    Kann auch nur vermuten was es da haben kann!

    Vielleicht kannst du mal den Code schicken der mit der Zeile zusammenhängt, sprich wo $this gefüllt wird.

    mfg
    nero_85
     
    Als Hirte erlaube mir, zu dienen mein Vater dir. Deine Macht reichst du uns durch deine Hand, diese verbindet uns wie ein heiliges Band! Wir waten durch ein Meer von Blut, gib uns dafür Kraft und Mut. In nomine partris et filii et spiritu sancti...

    KLICK HIER ;)

    Tokio-Hotel's "Durch den Monsun" mal anders.

    (\_/)
    (O.o) This is Bunny. Copy Bunny into your signature
    (> <) to help him on his way to world domination.

  5. #5
    Avatar von maeTimmae
    maeTimmae maeTimmae ist offline Mitglied Platin
    Registriert seit
    Aug 2007
    Ort
    Erfurt, Saarbrücken, Leipzig und Fulda
    Beiträge
    515
    Bevor hier weitere Verirrungen entstehen, würde mich die Ausgabe folgenden paar Codezeilen, die vor genau der betroffenen Zeile eingefügt werden sollen, interessieren:

    PHP-Code:
    print("Debugging Start\n"); var_dump($thisAPP_NAME$this->aHelpInfo['title']);print("Debugging Stop\n"); 
    Die Fehlermeldung sagt es schon: Irgendeine Variable ist eine Instanz des Objekts "PEAR_Error" und besitzt keine Umwandlungsfunktion zum Typ Array. Anscheinend wird $this->aHelpInfo['title'] irgendwo in eine Instanz des genannten Objekts gewandelt oder durch eine Kopie oder Referenz auf ein solches Objekt überschrieben. Die str_replace() kommt aber nur mit "eindimensionalen" Werten oder "zweidimensionalen" Arrays klar (schließt Objekte und Resourcen aus).
    Wenn $this->aHelpInfo['title'] wirklich vom Typ PEAR_Error sein sollte, ist es in vorgefertigten Anwendungen immer recht kompliziert, den Fehlerursprung zu ermitteln - Hoffe, du hast nen ordentlichen Debugger parat um die Änderung der Werte zu verfolgen

    @Nero: Seit wann ruft man Funktionen mit eckigen Klammern auf? o.O
     

  6. #6
    Avatar von nero_85
    nero_85 nero_85 ist offline Mitglied Platin
    Registriert seit
    Jul 2005
    Ort
    Österreich
    Beiträge
    734
    Ups, sry! Hast recht!
     
    Als Hirte erlaube mir, zu dienen mein Vater dir. Deine Macht reichst du uns durch deine Hand, diese verbindet uns wie ein heiliges Band! Wir waten durch ein Meer von Blut, gib uns dafür Kraft und Mut. In nomine partris et filii et spiritu sancti...

    KLICK HIER ;)

    Tokio-Hotel's "Durch den Monsun" mal anders.

    (\_/)
    (O.o) This is Bunny. Copy Bunny into your signature
    (> <) to help him on his way to world domination.

Ähnliche Themen

  1. Fehlermeldung: Klasse ist undefiniert. Stimmt aber nicht!
    Von xtramen01 im Forum Javascript & Ajax
    Antworten: 6
    Letzter Beitrag: 29.08.10, 22:06
  2. JS sollte CSS Sprite verschieben. Geht aber nicht immer.
    Von tobee im Forum Javascript & Ajax
    Antworten: 6
    Letzter Beitrag: 30.04.10, 10:04
  3. Zeilenumbrüche aber nicht immer
    Von Benzol im Forum PHP
    Antworten: 1
    Letzter Beitrag: 18.01.06, 22:52
  4. Antworten: 4
    Letzter Beitrag: 25.07.05, 17:18
  5. Antworten: 2
    Letzter Beitrag: 24.02.05, 14:16