Zend Framework und PEAR - Schnittmengen?
frankx
- php
Hellihello,
bietet das http://framework.zend.com/manual/de/index.html nicht ähnliche Klassen (s. Mail zB.) an wie PEAR? Pear wäre ja eher sowas wie eine "lose" Sammlung von Klassen, während Zendframework eben einen möglichst kompletten und erschöpfenden Rahmen bieten soll? Arbeiten die Hand in Hand, oder ist Pear veraltet, oder entwickeln sie sich parallel? Sind die Konventionen für die Syntax gleich?
Dank und Gruß,
Hellihello
bietet das http://framework.zend.com/manual/de/index.html nicht ähnliche Klassen (s. Mail zB.) an wie PEAR? Pear wäre ja eher sowas wie eine "lose" Sammlung von Klassen, während Zendframework eben einen möglichst kompletten und erschöpfenden Rahmen bieten soll? Arbeiten die Hand in Hand, oder ist Pear veraltet, oder entwickeln sie sich parallel? Sind die Konventionen für die Syntax gleich?
http://www.killerphp.com/articles/pear-vs-zend-framework/
http://www.codedifferent.com/2008/04/02/ruby-on-rails-or-zend-framework-–-deciding-now/
auch interessant in Bezug auf das ZF.
frankx
Dank und Gruß,
echo $begrüßung;
bietet das http://framework.zend.com/manual/de/index.html nicht ähnliche Klassen (s. Mail zB.) an wie PEAR?
Ja und nein. Bestimmte grundlegende Sachen wie Mail oder Datenbankzugriff wirst du in jedem PHP-Framework bzw. -Klassensammlung finden.
Pear wäre ja eher sowas wie eine "lose" Sammlung von Klassen, während Zendframework eben einen möglichst kompletten und erschöpfenden Rahmen bieten soll?
Komplett und erschöpfend kann sicher weder ein Framwork noch eine Klassensammlung sein. Es ist aber schon so, dass Zend "aufs Ganze" zielt und PEAR lose (aber nicht immer unabhängige) Klassen sind. Das kann man schon an der Installation sehen. ZF kommt als ein Paket daher, bei PEAR kann und muss man alles einzeln installieren (wenn man mal vom mit PHP ausgelieferten Bündel absieht).
Arbeiten die Hand in Hand, oder ist Pear veraltet, oder entwickeln sie sich parallel?
Nein, jein, ja. Ersteres ist nicht vorgesehen. Das ZF ist aber auch nicht so miteinander verdrahtet, dass es nicht möglich wäre, bestimmte Hauptfunktionalitäten unberücksichtigt zu lassen und stattdessen Alternativen zu nehmen.
PEAR ist schon recht alt. Die Entwicklung begann zu PHP4-Zeiten, und wenn die Klassen auch noch unter PHP4 laufen sollen, können sie die verbesserten Möglichkeiten der PHP5-OOP nicht verwenden. Einige Pakete gibt es aber auch als Nur-PHP5-Version. Das ZF hingegen wurde von Anfang an auf die Möglichkeiten von PHP5 zugeschnitten.
Ich verfolge die Entwicklung beider Systeme nicht mehr aufmerksam (und die der anderen Frameworks und Klassensammlungen habe ich nie angefangen), aber ein kurzer Blick auf pear.php.net zeigt Recent Releases neueren Datums an. PEAR wird also auch noch weiterentwickelt.
Sind die Konventionen für die Syntax gleich?
Die Syntax muss sich natürlich nach den Gegebenheiten PHPs richten, die bei PHP4 und PHP5 zumindest bei OOP schon mal deutlich unterschiedlich sind und andere konzeptionelle Möglichkeiten zulassen (z.B. Exceptions vs. PEAR_Error). Beim Coding Style hingegen dürfte es nicht allzu gravierende Unterschiede geben.
Eine Sache bei der das ZF konsequenter ist, ist die Benennung der Klassen und die Zuordnung zwischen Klassennamen und Dateisystem Der Dateiname inklusive Pfad ergibt sich beim ZF eindeutig aus dem Klassennamen, was beispielsweise eine __autoload-Implementation sehr vereinfacht. Die Konvention ist auch im Hinblick auf dieses PHP5-Feature erstellt worden. Bei PEAR ist diese eindeutige Zuordnung nicht gegeben.
echo "$verabschiedung $name";