====== 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 [[http://www.phparch.com/zftut/index.php?p=0|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.