Piste : • jelix_vs_zend
Table des matières
Jelix vs Zend Framework ¶
Du fait des évolutions sur les deux projets depuis mars 2006, date de cette comparaison, cette dernière peut donc être considérée comme obsolète.
Ceci est une comparaison rapide entre Jelix 1.0alpha2 et Zend Framework 0.1.1. Elle n'est pas exhaustive. Surtout qu'à ce jour (6 mars 2006), la doc de Zend se limite à une documentation de référence.
Voir toutefois un tutoriel sur phparch.com (Le lien est mort)
API ¶
Zend ¶
- loadFile, loadClass… : Le système de selecteur de Jelix est beaucoup plus puissant et moins verbeux
- register/registry : identique à jClasses de jelix
Zend_Db ¶
- mélange entre jDb et jDao
- jelix privilégie le tout objet (enregistrement = objet, Zend_Db : tableaux)
- jelix : configuration centralisée dans un fichier ini
Zend_Db_DataObject ¶
- basé sur le pattern ActiveRecord (cf Ruby on rails)
- moins de code à écrire que jDao, et donc plus rapide à utilise pour les choses simples que jDao
- truc gruik : le nom des propriétés est modifiée dans Zend . un champs nommé foo_bar, sera accessible via fooBar. → peut preter à confusion puisque implicite.
- jDao : tout est précompilé (requetes sur les objets etc → en dur donc → rapidité ). Voir si les requetes SQL issue des Zend_Db_DataObject sont générées à la volée ou mis en cache comme avec jDao.
Zend_Db_Select ¶
$select→from, $select→join etc.. : jDao evite de faire tout ceci ! (seul manque pour l'instant le support de group by/having dans jdao..)
Zend_InputFilter ¶
classe proposant des filtres, des tests sur le contenu issu de la requete. jForm devrait proposer quelque chose de plus puissant (en plus de la génération de formulaires…)
Zend_Pdf ¶
generation de pdf. Pas dans Jelix pour le moment, mais tout à fait possible en se basant sur un jResponse.
Zend_Search et Zend_Service ¶
Classe pour faire une recherche sur du contenu, et appels de services web externes. C'est un plus pour Zend. Pas prevu dans Jelix pour le moment.
Autres classes utilitaires ¶
Zend_Feed, Zend_HttpClient, Zend_Json, Zend_Log, Zend_Mail, Zend_Mime : de simples classes utilitaires, qui ont ( ou auront) leur equivalent dans Jelix.
MVC ¶
Zend_View et Zend_Controller sont vraiment basiques pour le moment. Les objets Zend_Controller sont analogues aux jController.
Avec jRequest/jResponse/jZone/jTpl Jelix est plus puissant et s'occupe de plus de chose nativement (pas besoin de s'occuper de la génération finale par exemple, il y a juste à donner les données dans le controleur).
Quid, dans Zf d'un découpage en module ?
Autres remarques ¶
Zend est pas mal orienté XHTML, tandis que Jelix fait totalement abstraction du format de sortie, tout en fournissant des objets (les jResponse*) qui facilite la génération des réponses dans les formats voulus.
L'organisation des données semblent aussi plus structurée dans Jelix que dans Zend.. À vérifier quand la doc de Zend sera plus complète.