Knowledgebase

PHP get_class_methods liefert kein Ergebnis obwohl Methoden in der Klasse vorhanden sind

Bewertung:  / 0
SchwachSuper 

Problembeschreibung: get_class_methods liefert NULL

Ich hatte letztens in einem PHP-Projekt eine neue Klasse programmiert. Über den PHP-Befehl get_class_methods (s. PHP-Manual) sollte ein anderes Script die Methoden dieser php-class auslesen und in einem Pulldown-Selectfeld zur Auswahl zur Verfügung stellen. Das Ergebnis, was die get_class_methods() lieferte war jedoch immer NULL, es wurden keine Methoden erkannt und als Resultat der Abfrage geliefert. Bei anderen class-Scripten funktionierte dieser PHP-Befehl jedoch zuverlässig.

 

Die Lösung war sehr versteckt

Nachdem ich diverse Dinge probiert hatte und schon ziemlich verzweifelt war, und den Fehler in allen möglichen und unmöglichen Ursachen vermutete, was die Lösung schließlich sehr einfach aber versteckt: Ich programmiere mit der IDE PhpStorm unter Windows. Beim Neuanlegen von Scripten wurde als der Zeilenumbruch-Standard für Windows CRLF verwendet.

Genau damit scheint es zusammenzuhängen. Nachdem ich den Zeilenumbruchstandard auf LF (Linux/OSx) umgestellt hatte, war die Methode get_class_methods plötzlich in der Lage alle Methoden komplett zu liefern.

Allerdings sei anzumerken, dass auch andere Class-Script nicht im Format Linux-LF gespeichert waren und trotzdem ausgelesen wurden. Warum nur mein neues Script erst nach einem Umspeichern lesbar war, in noch unklar, für mich aber nicht so wichtig, weil mein Ziel erreicht war. Also kann ich zumindest empfehlen, bei wem ein ähnliches Phänomen auftritt, das mit dem Umspeichern zu versuchen.

Wenn jemand hierzu weitere oder genauere Kenntnisse hat, dürfen diese hier gern gepostet werden.



  • Keine Kommentare gefunden

Einen Kommentar verfassen

Als Gast kommentieren

0
Deine Kommentare erfordern die Moderation durch den Administrator
Nutzungsbedingungen.
Suche - Kategorien
Suche - Inhalt
plg_search_attachments
VM - Search, Virtuemart Product

Ihr Warenkorb

 x 
Ihr Warenkorb ist noch leer.