Symfony Teil 3: Twitter Bootstrap und Custom CSS

Nach der Generierung im vorherigen Kapitel besteht nun eine funktionierende Mini-Anwendung, die aber optisch nicht so reizvoll aussieht. Weitere Template-Schicht Durch die Anlage des Projektes und durch die Generierung sind nur zwei Arten von Twig-Dateien entstanden:  Basis-Template in <htdocs>/symfony-myalbums/app/Resources/views/base.html.twig einzelnen Seiten, z.B. <htdocs>/symfony-myalbums/src/Bjoerne/MyAlbumsBundle/Resources/views/Album/index.html.twig Es empfiehlt sich für jedes Bundle dazwischen noch eine Template-Schicht einzuziehen. Dazu lege ich eine Datei layout.html.twig in <htdocs>/symfony-myalbums/src/Bjoerne/MyAlbumsBundle/Resources/views an. Diese hat folgenden Inhalt: {% extends '::base.html.twig' %} {% block title %}My Albums{% endblock %} {% block stylesheets %} {% endblock %} Sie erweitert das Basis-Template und [...]

2017-01-28T14:29:42+00:00 10.09.2013|Tags: , , , , , |4 Comments

Symfony Teil 2: Scaffolding mit der Kommandozeile

Erste Erfahrungen mit Symfony Nachdem die Entscheidung, welches PHP-Framework ich einsetzen möchte, auf Symfony fiel, möchte ich nun erste Erfahrungen damit machen. Dazu will ich die Musikalbenverwaltung aus dem Zend-Tutorial mit Symfony umsetzen. Das Ergebnis stelle ich über Github bereit: https://github.com/bjoerne2/symfony-myalbums. Ich installiere zunächst das Tool Composer, um damit ein Symfony-Projekt anzulegen. Das mache ich wie in dessen Installationsanleitung für UNIX-Systeme (in meinem Fall OSX) unter Globally beschrieben. Anschließend führe ich in meinem htdocs-Verzeichnis den folgenden Befehl aus, um ein Projekt symfony-myalbums anzulegen: composer create-project symfony/framework-standard-edition symfony-myalbums/ 2.3.1 Die Ausführung [...]

2017-01-28T14:29:54+00:00 10.09.2013|Tags: , , , , |6 Comments

Symfony Teil 1: Vergleich von PHP-Frameworks

Für ein Projekt muss ich eine PHP-Framework-Entscheidung treffen. Ich lese dazu einiges im Netz, aber die vielen Diskussion um Frameworks münden immer in der gleichen Empfehlung: Es kommt drauf an. Auch wenn das wahrscheinlich richtig ist, hilft es mir nur bedingt. Ich muss also selbst ran und tiefer in das Thema einsteigen. Anforderungen Ich arbeite seit einiger Zeit mit Ruby on Rails. Die Entwicklung macht damit einfach Spaß. Viele der Ideen von Ruby on Rails möchte ich auch von einem PHP-Framework geboten bekommen. Hier meine Anforderungen: MVC-Architektur Komfortabler Datenbankzugriff durch [...]

2017-01-28T13:52:52+00:00 06.09.2013|Tags: , , , , , |2 Comments

MySQL-Backups mit AutoMySQLBackup erstellen

Ich möchte gerne eine produktive MySQL-Datenbank regelmäßig, mindestens täglich, sichern. Mein Hoster (RailHoster) würde das auch übernehmen für schlappe 5 Euro im Monat. Der Preis ist eigentlich ok, aber ich will erstmal schauen, ob ich das nicht selbst hinbekomme. Bei einer kurzen Recherche bin ich über den Artikel 10 Ways to Automatically & Manually Backup MySQL Database gestolpert. Way Nummer 3 und das Tool AutoMySQLBackup finde ich interessant. Es soll die Backups bzw. Datenbankdumps zippen können und ältere Backups automatisch löschen können. AutoMySQLBackup besteht aus Shell-Skripten für UNIX-Systeme sowie einer [...]

2017-01-28T14:31:35+00:00 04.09.2013|Tags: , , , , , |0 Kommentare

Einen automatisierten Lasttest mit JMeter durchführen

Motivation Ich habe mich gefragt, wie sich eine von mir entwickelte Webanwendung unter Last verhält. Mit Last meine ich, dass mehrere Benutzer gleichzeitig auf die Anwendung zugreifen. Diese Situation kann ich alleine nicht manuell nachstellen, und auch den Ansatz, 10 Leute zusammenzutrommeln und gleichzeitig die Anwendung zu bedienen, halte ich für unprofessionell. Ein Lasttest ist mich primär ein automatisierter Test. Mir schwebt vor, eine umfangreiche Abfolge von Benutzerinteraktionen zu simulieren, die dem kompletten Lebenszyklus eines Anwenders entsprechen, also von der Registrierung des Anwenders bis zum Löschen seines Benutzerkontos. Das will [...]

2017-01-28T13:52:53+00:00 01.09.2013|Tags: , , , , |4 Comments

Widget-Bereich zu Theme hinzufügen

Widgets in WordPress sind eine coole Sache, aber es kommt vor, dass man diese an Stellen verwenden möchte, die das verwendete Theme nicht vorsieht. Die Lösung besteht darin, das Theme anzupassen, damit es weitere Widget-Bereiche unterstützt. Ich habe so schon einen Link zu einer anderen Sprache rechts oben auf die Seite oder ein Werbebanner oberhalb des Contents gepackt. In diesem Artikel zeige ich wie man einen Widget-Bereich unten auf die Seite bekommt, um dort den Code für Google Analytics unterzubringen. So kann man den Code auf der livegeschalteten Website einfügen, [...]

Eine bestehende Webseite responsiv machen

Responsives Webdesign ist in aller Munde. Da lohnt es sich auch mal einen Blick auf eigene bestehende Webseiten zu werfen und zu schauen, ob diese mit überschaubarem Aufwand geändert werden können, damit sie auch auf Smartphones und Tablets gut aussehen. Eine solche Umstellung ist spannend und es sind ein paar Entscheidungen zu treffen, die scheinbar individuell für die jeweilige Webseite zu beantworten sind. Die gefundenen Antworten entsprechen am Ende einem "responsiven Denkmuster", welches auch in weiteren Projekten zum Tragen kommen kann. Ich werde die Umstellung an der Webseite www.kinderkrebshilfe-weseke.de vornehmen. [...]

2017-01-28T13:52:54+00:00 28.08.2013|Tags: , , , |0 Kommentare

Eigene Shortcodes schreiben oder Div Shortcode verwenden

In einem Projekt ergab sich die Anforderung, dass auf einer Seite alle Mitarbeiter aufgelistet werden. Und zwar so: Lösung mit eigenen Shortcodes Da ich keine Lust hatte, in der Text-Sicht des Beitrags HTML zu coden, habe ich Shortcodes geschrieben. Und das ist gar nicht so schwer. Um das Layout umzusetzen, brauchte ich zwei geschachtelte div-Elemente mit class-Attributen. Die Shortcodes sollten heißen staff und description. Mit dem folgenden Code habe ich die Shortcodes zur Verfügung: function staff_shortcode( $atts, $content = null ) {    return '<div>' . do_shortcode( $content ) . [...]

2017-01-28T14:33:11+00:00 27.08.2013|Tags: , , |0 Kommentare

Excerpts statt komplettem Inhalt von Einträgen auf Beitragsseite, Kategorieseiten und Tagseiten

Im Theme twentythirteen werden Excerpts (Kurzfassungen der Artikel, die mit ... enden) nur auf der Suchergebnisseite dargestellt. Das passt mir nicht, denn wenn die Artikel zu lang werden inklusive Codebeispielen, dann nervt es, wenn das alles untereinandersteht und womöglich auch thematisch sehr gemischt ist. Daher habe ich das Theme für mich angepasst. Das ganze ist ein Einzeiler. In der Datei content.php des Themes steht an einer Stelle is_search(). Das einfach gegen !is_single() austauschen. Das war's. In anderen Themes wird das wahrscheinlich ähnlich ablaufen. Hier der Patch als Unified Diff: diff [...]

2017-01-28T13:52:55+00:00 27.08.2013|Tags: , |2 Comments

PHP- bzw. WordPress-Projekte mit Git verwalten und deployen

Ich bin dazu übergegangen, selbst kleine PHP-Projekte, meist WordPress-Installationen, in einem Git-Repository zu halten und auch mit Git zu deployen. Im Folgenden möchte ich beschreiben, wie das funktioniert. Vor-/Nachteile: + Kein langsames und nerviges FTP + Komplette History aller Code-Änderungen und Möglichkeit alte Stände zu reproduzieren + Automatisches Deployment - Einarbeitung in git erforderlich Ich nutze als Git-Repository Bitbucket. Damit kommt als Vorteil noch ein abgespeckter Issue-Tracker und ein Wiki hinzu, die sich gut mit dem Repository integrieren. Voraussetzungen git auf dem lokalen Rechner git auf dem Hosting-Rechner Um den [...]

2017-01-28T13:52:56+00:00 23.08.2013|Tags: , , , , |16 Comments