Ich schrieb eine kleine PHP-Anwendung, die ich gerne verteilen würde. Ich suche nach Best Practices, so dass es mit minimalem Aufwand auf den meisten Webhosts installiert werden kann.Verteilen einer kleinen PHP-Anwendung
Kurz: Es ist ein einfaches Tool, mit dem Benutzer Dateien herunterladen können, sobald sie sich mit einem Passwort anmelden.
Also meine Fragen sind:
1) Wie sollte ich Konfigurationswerte behandeln? Ich verwende keine Datenbank, daher scheint eine Konfigurationsdatei angemessen zu sein. Ich weiß, dass andere php apps (z. B. Wordpress) verwenden definiert, aber sie sind global und es gibt Potenzial, dass die Namen in Konflikt geraten. (Globale Variablen haben natürlich auch das selbe Problem.) Ich habe mir den "ini" -Dateimechanismus angeschaut, der in PHP eingebaut ist. Es erlaubt nur Kommentare an der Spitze - so können Sie nicht einfach jede Einstellung kommentieren - und Sie können die Syntax nicht mit "php -f" validieren. Andere Optionen?
2) Umgang mit Templating? Die Anwendung muss ein Formular auspumpen. Möglicherweise mit einer Fehlermeldung. (z. B. "Tut mir leid, falsches Passwort.") Ich habe eine Klassenvariable mit dem HTML-Formular, kann aber auch eine externe Vorlagendatei verwenden (in der Konfiguration angegeben). Ich mache ein triviales Suchen und Ersetzen - z. % SCRIPT% auf den Namen des Skripts,% STATUS% auf die Fehlermeldung. Das fühlt sich ein wenig an, als würde man das Rad neu erfinden, aber ein Templating-System wie Smarty ist Overkill. (Möglicherweise haben sie bereits ein Vorlagensystem.) Andere Optionen?
3) i18n - Es gibt nur 3 Nachrichtenzeichenfolgen, und Gettext scheint nicht universell installiert zu sein. Ist es so eine schlechte Idee, nur diese drei Strings in der Konfigurationsdatei zu definieren?
4) Wie integriere ich mich am besten mit anderen Frameworks? Meine App ist eine einzelne Klasse. Also dachte ich, ich könnte einfach ein PHP-Skript einfügen, das zeigt, wie die Klasse aufgerufen wurde. Es wäre ein Startpunkt für Leute, die es in einen anderen Rahmen integrieren mussten, aber auch für diejenigen, die kein Interesse am Customizing haben. Angemessen?
5) GET/POST-Parameter - Ist es eine schlechte Form für eine Klasse, $ _GET und $ _POST zu betrachten? Sollen alle Werte während des Baus in meine Klasse weitergegeben werden?
Danke.
Ich liebe diese Konfiguration Stil! Ich werde es jetzt ausprobieren. –