Warum Joomlawrapper für standard PHP-Funktionen.

  • HI,
    worin besteht eigentlich der Vorteil einen Joomlawrapper zu benutzen wenn es die jeweilige Funktion auch schon so mit normalem PHP möglich ist?
    Ist das schneller oder sind diese unter umständen aufgebohrt?

    Als Beispiel die JFile::-Klasse. Hier kann ich z.B. die Dateierweiterung per JFile::getExt($filename); bekommen. Mit standard PHP würd ich das über pathinfo oder  SplFileInfo::getExtension machen.

    Vielleicht kann mir das jemand erklären?
    Das hat mich schon lange mal interessiert.

    Grüße

  • Moin


    Weil es den meisten Anwendern überhaupt nicht um die von Dir angesprochenen Punkte geht. Die haben auf irgendeiner Seite das Script "total-lustiger-chat.php" gefunden und wollen das nun irgendwie in ihr Joomla basteln. Und für Dinge die nichts mit Joomla zu tun haben, gibt es da nun mal den integrierten Wrapper. Adresse der gewünschten Quelle in das Feld eintragen und gut. Wenn Du dieser Personengruppe mit den von Dir genannten Stichworten kommst, haben die das Fenster hier schneller geschlossen, als Du den letzten Satz vollenden kannst.


    Gruß Jan

  • Als Beispiel die JFile::-Klasse. Hier kann ich z.B. die Dateierweiterung per JFile::getExt($filename); bekommen. Mit standard PHP würd ich das über pathinfo oder  SplFileInfo::getExtension machen.

    JFile als Klasse generell gibt einem Entwickler eine einheitliche API für Dateioperationen, ohne das sich der Entwickler Gedanken darüber machen muss, ob in Joomla der FTP-Layer aktiviert ist (was dann bedeutet dass zumindest schreibende Zugriff per FTP erfolgen) oder ob direkt auf der Platte gearbeitet werden kann. Um die API der Klasse dabei möglichst vollständig zu machen, ist auch die getExt dazu gekommen.

  • sind diese unter umständen aufgebohrt?

    Teils auch das. Meint, haben gelegentlich einen kleinen oder größeren "Bequemlichkeitsfaktor" dabei. So erstellt write() z.B. gleich die Ordner-Struktur, falls noch nicht verhanden, im Unterschied zu file_put_content.

    (Ein copy() macht das dann aber wider Erwarten nicht.)


    Oder die übergebenen Pfad-Teile werden beim Zusammensetzen automatisch "gecleant" via JPath::clean und ähnliches.


    delete() kann auch Arrays.


    So Kram. Manchmal lohnt sich, manchmal nicht...

  • ist es eigentlich egal ob ich die Joomla Funktionen verwende oder native von PHP.

    Ja, wenn dich das von snipersister gesagte nicht tangiert (was es mich bzgl. FTP z.B. nicht tut). Wenn ich es richtig beobachte, geht der Trend, mindestens in Joomla 4, auch teils in diese Richtung, natives PHP zu verwenden, falls kein Vorteil durch FileSystem-Klassen.