Evolutionär

E-Mail, Testing und Co.

E-Mail

In Sachen E-Mail-Versand beschreibt Symfony wieder einmal eine Kehrtwende. Die ursprünglich in Version 1.0 enthaltene E-Mail-Komponente wurde mit Erscheinen der Version 1.1 entfernt und auf den Einsatz von Fremdbibliotheken verwiesen.

Mit Version 1.3 hält nun aber wieder eine Mail-Komponente Einzug. Diese basiert auf dem äußerst populären und leistungsfähigen Swiftmailer, dessen Funktionen in einer Symfony-Klasse gekapselt wurden. Die Verwendung innerhalb einer Action ist, wie das folgende Listing zeigt, sehr einfach und komfortabel.

<?php
$this->getMailer()
->composeAndSend('from@domain.de',
'to@domain.de',
'Subject',
'Nachricht');
?>

Wer möchte, kann auch E-Mail-Nachrichten mit Attachments versenden.

<?php
$msg = $this->getMailer()
->compose('from@domain.de',
'to@domain.de',
'Subject',
'Nachricht')
->attach(Swift_Attachment::fromPath
('datei.pdf'));
$this->getMailer()->send($msg);
?>

Wer alle Funktionen von SwiftMailer nutzen möchte, der kann selbstverständlich auch direkt auf dessen Klassen zugreifen.

Testing

Unit-Testing ist in vielen Projekten zum Alltag geworden. Seit der ersten Version bringt Symfony sein eigenes Testing-Framework namens Lime mit. Lime hat in der aktuellen Symfony-Version einige kleinere Änderungen erfahren, die aber je nach Projekt sehr nützlich sein können. Wer viele Tests besitzt, für den ist die lange Laufzeit der Unit-Tests oftmals ein Problem.

Der neue Parameter --only-failed sorgt dafür, dass nur Unit-Tests ausgeführt werden, die beim letzten Lauf gescheitert waren. Ebenfalls hilfreich ist der --trace-Parameter, der auch Debug-Output mit ausgibt und so das Debugging vereinfacht.

Auf vielfachen Wunsch wurde als Ausgabeformat für die Test- ergebnisse das xUnit-XML-Format implementiert. Diese Tatsache erleichtert die Nutzung von Lime innerhalb eines Continuous Integration Servers, wie beispielsweise Hudson oder phpUnderControl, ohne den Umweg über ein Plugin zu gehen. Parallel zu der Weiterentwicklung, die in die Version 1.3 eingeflossen ist, wird Lime gerade von Grund auf neu entwickelt. Diese Version soll in einigen Monaten zur Verfügung stehen.

Im Hintergrund

Neben den genannten neuen oder geänderten Funktionen lag der Hauptfokus auf der Performanceoptimierung des Frameworks. Hierzu wurden viele Teile des Systems neu geschrieben oder massiv umprogrammiert. Paradebeispiel hierfür ist das neue Routing-System, das um etwa 50 Prozent beschleunigt wurde.

Auch das Caching wurde verbessert, Symfony stellt mit dem neuen Task project:optimize eine Möglichkeit zur Verfügung, um die Zugriffsgeschwindigkeit weiter zu steigern. Dazu wird ein Snapshot eines Projektes gecacht. Alles in allem macht sich der Wechsel zur Version 1.3/1.4 positiv bemerkbar.

Alle bislang beschriebenen Änderungen betreffen sowohl die Version 1.3, als auch die Version 1.4. Der Hauptunterschied ist, dass Letztere um eine Vielzahl von Funktionen, Plugins und Klassen entschlackt wurde, die als veraltet gekennzeichnet wurden. In 1.3 sind diese weiterhin enthalten, was ein Update vorhandener Anwendungen erleichtern soll.

Mehr zum Thema

Wir zeigen, welche Alternativen zu AdBlock Plus es gibt.
AdBlock Plus Alternative

PC Magazin stellt AdBlock Plus Alternativen für Chrome, Firefox und den Internet Explorer vor. Mit unseren Tipps blenden Sie spielend leicht Werbung…
Die Whatsapp-Alternative bietet mehr Sicherheit & Anonymität.
Sichere Whatsapp Alternative

Mit den richtigen Einstellungen ist Telegram eine sichere Whatsapp-Alternative. Wir zeigen, wie Sie die App einrichten und die Verschlüsselung…
Home Cloud mit Laptop, Smartphone, Tablet und WD Festplatte.
WD My Cloud, MyFritz & Co.

Wir zeigen, wie Sie Cloud-Server im Heimnetzwerk einrichten. Wir erklären Western Digital My Cloud, AVM MyFritz und Synology Quickconnect.
Internet Breitband-Download
WLAN-Tipps

Jeder IT-Profi braucht ein paar nützliche Werkzeuge, um sein WLAN schnell und sicher zu halten. PC Magazin zeigt nützliche Tipps und Tools.
Whatsapp auf PC
Mit oder ohne Download

Mit Whatsapp Web oder der Whatsapp Desktop-App nutzen Sie den Messenger bequem am PC. Wir erklären Download, Installation und Einrichtung.