Symfony 1.4 :: Blog Tutorial

In diesem Tutorial zeigen wir, wie man einen Blog mit Hilfe des Symfony Frameworks einrichtet.
Mit ein paar Handgriffen erhält man so schnell eine Möglichkeit flexibel und schlank seinen eigenen Blog zu pflegen.
Dank des modernen Architekturmusters MVC ist der Blog beliebig erweiterbar.


Eine neue Applikation mit Namen "frontend" sollte hier bereits angelegt sein. Siehe Framework Tutorial

Vorbereitung

Als erstes legen wir eine neue Tabelle mit dem Namen Blog an
#config/doctrine/schema.yml
Blog:
   actAs:
     Timestampable: ~
   columns:
     title:
        type: string(255)
        notnull: true
     blogtext:
        type: string(5000)
        notnull: true
     postedAt:
        type: datetime
Dann fügen wir noch zwei Testdatensätze hinzu, damit unser Blog schon gefüllt ist.
#data/fixtures/blogdata.yml
Blog:
  blog-entry-1:
    title: Mein erster Blog
    blogtext: Der erste Text in unserem ersten Blogeintrag ...
    postedAt: 2011/12/29 12:00:00
  blog-entry-2:
    title: Mein zweiter Blog
    blogtext: Der zweite Text in unserem zweiten Blogeintrag ...
    postedAt: 2011/12/30 12:00:00

Abschließend generieren wir bequem über die Kommandozeile die entsprechenden MySQL Datentabelle und alle zugehörigen Klassen.
php symfony doctrine:build --all --and-load
php symfony cc

Ein neues Doctrine Module anlegen

Für unsere Arbeit am Layout des Blogs, sowie der Programmierung der entsprechenden Controlleraufrufe (Actions) legen wir ein neues Modul an.
Auch hier, einfach wieder folgenden Befehl eingeben:
php symfony doctrine:generate-module --with-show frontend blog Blog

Erklärung: Es wird ein Modul mit Namen "blog" angelegt, das eine Verbindung zur Tabelle "Blog" hat!

Eine neue Route für das Blog-Modul einrichten

Damit man den Blog aufrufen kann, muss man als erstes eine neue Route anlegen.

Zur Erleichterung verwenden wir hier vorerst eine DoctrineCollection die uns automatisch die Routes für das Hinzufügen, Anlegen, Editieren, Aktualisieren, Löschen und Anzeigen generiert. Später sollte man diese Routes dann durch eigene ersetzen!
#apps/frontend/routing.yml
  ...
  blog:
    class:  sfDoctrineRouteCollection
    options: { model: Blog }
  ...

Wenn der Apache Webserver, sowie die Namensauflösung entsprechen eingerichtet sind, so sollte
der Blog schon sichtbar sein unter der Adresse: http://projekt1.localhost/frontend_dev.php/blog









Über uns

Wir sind ein agiles Team von Programmierern und haben uns auf Erweiterungen (extensions) für eine Vielzahl von Systemen spezialisiert. Unsere besondere Stärke ist das entwickeln von Erweiterungen für Shop-Systeme basierend auf dem Magento Framework oder die Entwicklung an Web-Anwendungen mit dem Symfony Framework. Eine weitere Stärke ist die Erweiterung von Content Management Systemen wie beispielsweise Wordpress, Typo3, Drupal und Joomla. Das entwickeln von Apps für Android, Windows und Apple OS Systemen ist selbstverständlich!