Früher oder später geht es in jeder Webapplikation darum Daten zu speichern. In einer nach dem MVC-Prinzip orientierten Anwendung wird die ein oder andere Form eines ORM zum Einsatz kommen. Solche ORM (z. B. Doctrine, Eloquent) folgen entweder dem Paradigma des Active Record oder das dem Data Mapper. In diesem Artikel wird es um die Unterschiede dieser beiden gehen. (mehr …)
Kategorie: OOP
-
Entwurfsmuster – Komplexe Klassen bändigen mit dem Builder
Klassenstrukturen können manchmal recht komplex werden. Dann wird alleine schon die Instanzierung ein Verstoß gegen das DRY-Prinzip, oder soll dem Anwender nicht zugemutet werden. Hier kann ein Builder aushelfen.
-
Restrukturierungen vereinfachen mit ::class
PHP 5.5 hat eine neue dynamische Klassenkonstante
::classeingeführt, die die Wartbarkeit des Codes deutlich verbessern kann. (mehr …) -
Entwurfsmuster – Module vereinheitlichen mit einem Adapter
In PHP sind wir bereits von vielen Plugins und Modulen umgeben, die unsere Probleme vollständig lösen und eigentlich gar keiner Erweiterung bedürfen. Da aber deren Entwickler natürlich nicht unsere Interfaces kennen und es auch keine allgemein gültigen Spezifikationen dafür gibt, müssen sie noch vereinheitlicht werden – dazu wird ein sogenannter Adapter verwendet. (mehr …)
-
Entwurfsmuster – Viele Kindklassen verwalten mit der Factory
Wenn in einem Modul so viele Arbeiter (Kindklassen) vorhanden sind, dass es aussieht wie eine Fabrik, dann könnte die Factory das Entwurfsmuster sein mit dem die Verwaltung wieder einfach wird.
Aber Spaß beiseite: In diesem Beitrag wird es darum gehen verschiedene Typen in Form von Kindklassen effizient zu instanzieren. (mehr …)
-
Entwurfsmuster – Sinn und Unsinn des Singleton
In einer kleinen Reihe von Blogbeiträgen möchte ich die nächste Zeit auf verschiedene Entwurfsmuster eingehen, die uns als Programmierer immer wieder begegnen und uns die Arbeit erleichtern.
Es geht los mit einem der einfacheren Muster: Dem Singleton. Ich will verdeutlichen wozu es verwendet wird, welche Probleme es bereiten kann und natürlich gibt es auch ein Codebeispiel. Außerdem werde ich noch auf das Multiton als Weiterführung der Singleton-Idee eingehen. (mehr …)
-
Objektorientierung (OOP) – Verwalten der Dienste (Dependency Injection)
Klassen in PHP haben immer wieder Abhängigkeiten zu anderen Klassen – sogenannten Diensten (Service). Um diese möglichst flexibel und einfach verwalten zu können wird ein Service-Container benötigt. In diesem Blogbeitrag erläutere ich euch die Vorteile eines solchen Containers und gebe ein Beispiel wie er aussehen könnte. (mehr …)
-
MVC – Einführung durch ein eigenes kleines „Framework“
PHP-Code für Webanwendungen folgt für gewöhnlich einem Muster. Früher war das gerne mal „Spaghetti-Code“, heute folgen viele dem Prinzip des MVC – eine Abkürzung für Model-View-Controller. In diesem Artikel werde ich mit euch ein eigenes kleines „Framework“ entwickeln, dass dieses Prinzip veranschaulicht. (mehr …)