Beiträge getagged mit Framework
Symfony 2.0 Preview Release testen
Nach dem Symfony 2.0 auf der Symfony Live 2010 vorgestellt wurde, kann man es sich nun auch selbst runterladen und die Preview Version testen.
Die Wichtigste Anforderung an den Server um Symfony 2.0 zu installieren, ist PHP 5.3, da dies nicht in den aktuellen Ubuntu Paketquellen enthalten ist. Eine gute und einfache Anleitung zum installieren von PHP 5.3 findet man auf denkeinfach.de.
Nach dem ich PHP 5.3 installiert hatte, habe ich mir einen neuen Ordner auf meinem Webserver erstellt (alle Kommandos per SSH) und per GIT die Sandbox kopiert:
mkdir /var/www/sf2 cd /var/www/sf2 git clone git://github.com/symfony/symfony-sandbox.git ./
Danach die Rechte für cache und logs gesetzt:
chmod 777 hello/logs chmod 777 hello/cache
Dann habe ich mir einen Vhost auf das web Verzeichnis gesetzt, zum testen kann man es aber auch direkt öffnen. Als erstes sollte man die Datei check.php öffnen um zu prüfen, ob man alle Voraussetzungen erfüllt.
http://<server_url>/<web_pfad>/check.php
Hier sollten möglichst viele Voraussetzungen grün sein, rote Felder im Pflichtteil sollte man beseitigen. Danach kann man seine erste Symfony 2.0 Anwendung im Browser starten:
http://<server_url>/<web_pfad>/hello/world http://<server_url>/<web_pfad>/index_dev.php/hello/world
Eine weitere Demoanwendung findet man hier. Und den oft zitierten Geschwindigkeitsvergleich hier und einen anderen hier.
Auch wenn sich Symfony 2.0 noch in “HIGHLY EXPERIMENTAL” Stadium befindet, kann man es in der Sandbox wenigstens testen. Bleibt also bis Late 2010 zu warten, dem geplanten release Zeitraum.
Object Relational Mapping
Verfasst von David unter PHP, Webentwicklung und Co am 20. Januar 2010
Was ist das Problem?
Die meisten Webanwendungen speichern ihre Daten in relationalen Datenbanken und sind selbst objektorientiert programmiert. Während des Programmablaufs sind die Daten in Objekten gekapselt, diese serialisiert in der Datenbank zu hinterlegen wäre keine gute Idee, würde man doch die Vorteile einer relationalen Datenbank einbüßen. Ein Objekt hat einen Zustand, Verhalten und eine Identität. Eine relationale Datenbank kennt nur Relationen und dazugehörige Tupel. Das Problem, Objekte in einer relationalen Datenbank zu speichern, nennt sich “Object-relational impedance mismatch“.
Wie kann man das Problem lösen?
Helfen kann man sich mit einer (eineindeutigen) Abbildung zwischen Datenobjekten und Tabellen einer Datenbank. Ein Objekt wird auf eine Tabelle abgebildet und Attribute auf eine Spalte der Tabelle. Der Primärschlüssel eines Tupels stellt die Identität des Objekts dar. Vererbung und Referenzen auf andere Objekte kann man dann über Fremdschlüssel lösen. Object relational Mapper sind Bibliotheken, die solche Abbildungen implementieren. Anstatt direkt auf die Datenbank zu zugreifen, kann man objektorientiert mit den Datenobjekten arbeiten, welche sich um die Interaktion mit der Datenbank kümmern. Allerdings muss man meistens Einbußen bei der Geschwindigkeit hinnehmen.
Object relational Mapper in PHP:
Die Anzahl von ORMs in PHP nimmt stetig zu. Fast jedes Application Framework ist mittlerweile mit einem ORM ausgestattet, sei es eine Eigenentwicklung oder ein fremdes ORM. Deshalb kann ich hier nur ein paar Beispiele nennen und keinen Anspruch auf Vollständigkeit erheben. Wenn ihr mir weitere Adressen in den Kommentaren schreibt, ergänze ich diese natürlich.
ORM Bibliotheken in PHP:
- cakePHP (Application Framework mit ORM)
- DB_DataObject
- Doctrine (Teil des Symfony Frameworks)
- pdoMap
- Propel (Teil des Symfony Frameworks)
- …
Fazit:
Schneller und performanter werden Anwendungen durch ORMs nicht, aber das Arbeiten mit einer Datenbank wird durch sie wesentlich vereinfacht.
Zend Framework
Seit ein paar Monaten arbeite ich mit dem Zend Framework aus dem Hause Zend Technologie. Dabei handelt es sich um ein recht junges MVC Application-Framework auf der Basis von PHP. Neben den MVC Komponenten (Controller und View) verfügt es über eine Vielzahl an nützlichen Klassen und Methoden, wie zum Beispiel eine Komponente für die Datenbankanbindung oder für Authentifizierung und Rechtevergabe. An der Entwicklung des Frameworks arbeitet ein Team was aus vielen erfahrenden und teils bekannten Personen besteht.
Ich programmiere derzeit ein kleines Projekt mit dem Zend Framework, welches ich euch an anderer Stelle noch vorstellen werde. Die Möglichkeiten die sich bei der Arbeiten mit dem MVC Entwurfsmuster ergeben sind einfach klasse.
Mit dem Zend Framework kann man effizient Anwendungen objektorientiert umsetzen.
Eine recht nette deutschsprachige Community ist das ZFforum hier findet man am Anfang schnell Hilfe. Einen guten einstieg bietet das Tutorial von Rob Allen oder die deutsche Dokumentation.
Framework oder CMS? Das ist hier die Frage!
Verfasst von David unter Webentwicklung und Co am 3. Januar 2008
Bei der Programmierung von Internetseiten stellt sich am Anfang oft die Frage, mit welchem Konzept man die Realisierung einer Internetseite bewältigt. Hat man sich für eine dynamische Umsetzung mit PHP entschieden, gibt es meiner Meinung nach drei Möglichkeiten:
- Man schreibt jeglichen Quelltext von Anfang an allein.
- Man nutzt ein Framework, welches eine Vielzahl von Klassen und Funktionen bietet.
- Man nutzt ein fertiges Content Management System.
Letzte Kommentare