Das Örtchen RSS-Feed
Suchen
Blog
Ähnliche Beiträge
Neueste Kommentare
Neueste Einträge
Populäre Einträge
Tagwolke
addon auswertung barcamp blog bug cms cms made simple datenkrake drupal feed film firefox frickeln friday gewinnspiel hardware how-to individualisierung meinung mmo modul nas php problem rss se7en server sicherheit sicherung software spiel teil theme trailer unterhaltung update windows windows 7 wordpress wow
Monatsarchiv

PHP: Vier nützliche Erweiterungen für Symfony 2

Wie ich schon Anfang der Woche in meinem Lebenszeichen-Beitrag geschrieben habe, hatte ich Anfang 2011 meinen ersten Kontakt mit dem PHP-Framework Symfony 2. Leider kam ich nie dazu, meine Erkenntnisse zu diesem Thema zu verbloggen. Meinen ersten Symfony-Beitrag möchte ich für eine kurze Vorstellung von vier nützlichen Bundles nutzen.

DoctrineMigrationsBundle

https://github.com/doctrine/DoctrineMigrationsBundle

In Symfony 2 arbeitet man normalerweise mit Doctrine 2 als ORM (objekt-relationaler Mapper). Da sich während eines Projekts immer wieder Änderungen innerhalb der Datenbank-Struktur ergeben, ist es sinnvoll diese als Datenbank-Migrationen in Git (oder einem alternativen System zur Versionsverwaltung) zu versionieren. Dies hilft bei der Aktualisierung verschiedener Installation der Anwendung (z.B. Development, Testing, Staging und Production)  bzw. einfach mehrerer Development-Rechner.

Das Bundle ist weitestgehend in der Lage, durch einen Vergleich unserer Doctrine-Entities (also der geplanten Struktur) mit der bisherigen Datenbank-Struktur diese Migrationen automatisch zu erstellen.

StofDoctrineExtensionsBundle

https://github.com/stof/StofDoctrineExtensionsBundle

Dieses Bundle integriert einige nützliche Doctrine-Erweiterungen. In meinem Test-Projekt habe ich nur Sluggable und Timestampable genutzt und kann deswegen zu den restlichen Erweiterungen nicht wirklich etwas sagen.

Mit Sluggable ist es möglich, aus einem Attribut unserer Doctrine-Entity einen Slug und somit die wichtigste Information für die Nutzung von Pretty URLs bzw. Clean URLs (zu deutsch "lesbare URLs") zu erzeugen. Mit Timestampable hingegen ist es extrem einfach, das Erstellungs- bzw. Änderungsdatum eines Datensatzes zu speichern.

AvalancheImagineBundle

https://github.com/avalanche123/AvalancheImagineBundle

Dieses Bundle integriert Filter in die Template-Engine Twig, mit welchen eine Thumbnail-Erstellung auf Basis von GD2, Imagick oder Gmagick relativ einfach möglich ist. Es werden hierbei sogar unterschiedliche Thumbnail-Größen unterstützt und man kann über eigene Filter-Definitionen die Vorgehensweise bei der Erstellung festlegen. Ich hatte damals eine Kombination mit dem KnpMediaExposerBundle verwendet, doch dieses wird leider nicht mehr gepflegt.

ConsoleBundle

https://github.com/RapotOR/ConsoleBundle

Bei meinem Test-Projekt benötigte ich damals eine Möglichkeit Konsolen-Befehle abzusetzen, ohne wirklich Zugriff auf die Konsole des Webservers zu haben. Mit diesem Bundle war beispielsweise das Leeren des Symfony-Caches problemlos im Browser möglich.

Abschließende Worte

Nach 1,5 Jahren sind vermutlich einige der obigen Informationen inzwischen veraltet, da ich mich damals noch mit Symfony 2.0.0 beschäftigt hatte. Seht es mir also nach, wenn dies der Fall ist. Ich freue mich jedoch über jeden Kommentar zur aktuellen Vorgehensweise bzw. Hinweise auf alternative Bundles.

Hallo! Bist du neu hier? Dann abonniere doch den RSS-Feed dieses nicht mehr ganz so stillen Örtchens, um über meine geistigen Ergüsse auf dem Laufenden zu bleiben. Alternativ besteht auch die Möglichkeit, sich von FeedBurner per E-Mail über meine Ausscheidungen benachrichtigen zu lassen.

Kommentar hinzufügen

(If you're a human, don't change the following field)
Your first name.
Der Inhalt dieses Feldes wird nicht öffentlich zugänglich angezeigt.
Der Inhalt dieses Feldes wird öffentlich zugänglich angezeigt, aber als nofollow markiert.
Hinweis

Kommentare beleben den Blog! Ich freue mich über jeden Kommentar. Du kannst hier offen Deine Meinung zum Artikel sagen, aber bitte beachte die Netiquette und vermeide es andere zu beleidigen.

Bitte unterlasst es die Kommentare zu SEO-Zwecken zu missbrauchen. Kommentare mit Links, die nicht zu Blogs führen (oder zu Blogs mit Grauzonen-Themen) und/oder Keywords als Namen verwenden und/oder Links im Kommentarbereich enthalten, sind nicht erwünscht!

Möchtest Du mir einen Blog-Artikel schmackhaft machen, dann schreib die URL ohne Link-Tag und ohne http(s):// in den Kommentarbereich und ich werde diesen bei Gefallen verlinken.

Die ersten vier Kommentare (mit den gleichen Daten bei Name, E-Mail und Blog) landen vor der Veröffentlichung in meiner Freigabe-Warteschlange und ich behalte mir das Recht vor, Kommentare entsprechend dieser Regeln anzupassen oder zu löschen!

t3n Magazin - Jetzt im Abo bestellen