Abgesehen von den standardmäßigen OO-Konzepten, welche anderen Strategien ermöglichen das Erstellen von gutem, sauberem PHP-Code, wenn kein Framework verwendet wird?
Antworten
Zu viele Anzeigen?Wenn Sie wirklich OO-Konzepte wie die Trennung von Anliegen befolgen, wird Ihr Code ziemlich gut sein, aber hier sind ein paar Vorschläge:
- Framework oder nicht, verwenden Sie MVC.
- Ich kann nicht genug betonen, wie wichtig es ist, Ihre Logik niemals mit Ihrem HTML zu vermischen. In einer HTML-Datei sollte PHP nur als Vorlagensprache verwendet werden und nicht mehr.
- Verwenden Sie ein DBAL.
- Trennen Sie Ihr Design von Ihrem Inhalt. Eine gängige Methode hierfür ist die intensive Verwendung von CSS und das Aufteilen von Header- und Footer-Dateien, die den Großteil des Website-Layouts enthalten.
- Verwenden Sie eine einzige Datei für Optionskonstanten wie DB-Zugangsdaten, FTP-Zugangsdaten usw.
Auch wenn Sie kein Framework verwenden, verwenden Sie ein Template-Engine. Durch die Verwendung von Vorlagen trennen Sie die Logik und Präsentation Ihrer Anwendung. Entwerfen, kodieren und formatieren Sie dann den Logikteil wie bei jeder anderen Sprache. Lassen Sie die "Designer" die Benutzeroberfläche gestalten :)
OO ist nicht zwingend erforderlich: Es war auch möglich, guten Code in PHP < 5 zu schreiben. Guter prozeduraler Code, gut aufgeteilt in Dateien und Verzeichnisse nach 'logischer Distanz', sollte Sie auch sicher halten. Beachten Sie jedoch, wie sich dies aus der Ferne dem OO nähert.
Am besten ist es, konsistent zu sein: Ich habe ein Projekt gesehen, in dem Smarty auf den meisten Seiten verwendet wurde, außer auf einer - der komplexesten, denken Sie sich das.
Profitieren Sie von den in PHP integrierten Erweiterungen - zum Beispiel MySQLi. Da diese immer mehr objektorientiert werden, wird der Bedarf an Frameworks geringer.
Zum Beispiel könnte ich eine nützliche TwitterApp erstellen, indem ich die folgenden Erweiterungen verwende und außer einer Kernklasse keine tatsächlichen Frameworks:
- MySQLi für die Datenbank (PDO, wenn Sie DAL benötigen)
- SimpleXML für das Lesen von RSS/API
- Smarty für Templates
Es könnte sein, dass ich ein paar Hilfsklassen für Dinge wie Login erstellen muss, aber meine üblichen Paar Klassen (DAL und TPL) werden durch zwei sehr gut funktionierende Erweiterungen überflüssig gemacht.
- See previous answers
- Weitere Antworten anzeigen