In PHP gibt es schon diverse vorgefertigte Klassen, die einem das Aggregieren und Parsen von Feeds erleichtern. Zuletzt habe ich die Klassen von SimplePie benutzt. Leider sind die in PHP4 geschrieben, was im ersten Moment nicht stört, auf den zweiten Blick aber einige Probleme mit sich bringt. So hängt sich beispielsweise immer wieder unser Testing-Server auf, sobald man aus den Tests die Methoden aufruft, die mit den SimplePie-Methoden agieren. Zudem wird wohl SimplePie tatsächlich jetzt auch nicht mehr weiter entwickelt.
Als Alternative versuche ich mich nun gerade mit dem sfFeed2Plugin und wundere mich ein wenig, dass ich es nicht im ersten Anlauf auch schon benutzt habe. Warscheinlich war uns damals nicht aufgefallen, dass es auch parsen kann und nicht nur neue Feeds zusammenbaut. Das Plugin stellt neben dem Parsen alle Funktionen zur Verfügung, die man benötigt, um mit den empfangenen Daten weiterzuarbeiten. Einzige Vorraussetzung ist die Installation des sfWebBrowser-Plugin, welches das Plugin für den Request auf die zu parsende Seite benutzt.
Im Vergleich zu den Zend-Klassen hat es zudem den Vorteil, dass es dem Plugin egal zu sein scheint, ob es einen Atom- oder Rss-Feed bekommt. Das ist natürlich ein großer Vorteil, denn ich muss darum nicht mehr kümmern und irgendwelche Wrapper oder sowas schreiben.
Was allerdings passiert, wenn ich das Plugin z.B. um die Atom-Activity-Extension erweitern möchte, ist noch fraglich. Die Zeit wirds zeigen. Von den drei bisher verglichenen Möglichkeiten von Feed-Parsern: Simple Pie, Zend und sfFeed2Plugin bin ich bisher am glücklichsten mit dem Symfony-Plugin.