Piste :
Différences ¶
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédenteProchaine révisionLes deux révisions suivantes | ||
jelix_vs_copix [2006/02/05 22:20] – laurent | jelix_vs_copix [2006/08/03 09:40] – laurent | ||
---|---|---|---|
Ligne 8: | Ligne 8: | ||
* Entièrement optimisé pour PHP 5 : utilise donc au maximum les concepts objets de PHP5 et toutes les fonctionnalités de PHP5 : exceptions, autoload... Il n' | * Entièrement optimisé pour PHP 5 : utilise donc au maximum les concepts objets de PHP5 et toutes les fonctionnalités de PHP5 : exceptions, autoload... Il n' | ||
- | * Ce qui a été réutilisé de Copix a été optimisé et " | + | * Ce qui a été réutilisé de Copix a été optimisé et " |
* Meilleures performances générales : avec toutes les modifications apportées, Jelix est en théorie plus performant. Ainsi le code du coeur de Jelix (3000 lignes de code) est 40% moins important que celui de Copix (5000 lignes, sans compter les 2000 lignes de smarty) | * Meilleures performances générales : avec toutes les modifications apportées, Jelix est en théorie plus performant. Ainsi le code du coeur de Jelix (3000 lignes de code) est 40% moins important que celui de Copix (5000 lignes, sans compter les 2000 lignes de smarty) | ||
* Réorganisation au niveau de l' | * Réorganisation au niveau de l' | ||
Ligne 14: | Ligne 14: | ||
* Il n'y a plus CopixSimpleXml (remplacé par le simplexml de PHP5) | * Il n'y a plus CopixSimpleXml (remplacé par le simplexml de PHP5) | ||
* Système de thèmes de templates | * Système de thèmes de templates | ||
- | * Meilleures prises en charges des services web grâce au nouveau coeur : XMLRPC, JSONRPC.. | + | * Meilleures prises en charges des services web grâce au nouveau coeur : XMLRPC, JSONRPC, ... |
===== Le coeur ===== | ===== Le coeur ===== | ||
Ligne 20: | Ligne 20: | ||
* le coeur a entièrement été réécrit : la coordination a quelque peu changée | * le coeur a entièrement été réécrit : la coordination a quelque peu changée | ||
* Il n'y a plus de paramètres " | * Il n'y a plus de paramètres " | ||
- | * Il n'y a plus de fichier *.desc.php. | + | * Il n'y a plus de fichier *.desc.php. |
- | * Il y a un controle sur le type contenu d'une réponse en fonction de la requête. Par exemple, on ne peut pas générer du html si il s'agit d'une requête formatée en XMLRPC. La réponse devra être en XMLRPC. Il y a ainsi des objets de traitements de requêtes dediés à des requêtes spécifiques et n' | + | |
+ | * Il y a un controle sur le type contenu d'une réponse en fonction de la requête. Par exemple, on ne peut pas générer du html s'il s'agit d'une requête formatée en XMLRPC. La réponse devra être en XMLRPC. Il y a ainsi des objets de traitements de requêtes dediés à des requêtes spécifiques et n' | ||
* Les erreurs techniques qui pourraient apparaître (par trigger_error ou exceptions) sont générées dans le format approprié à la requête/ | * Les erreurs techniques qui pourraient apparaître (par trigger_error ou exceptions) sont générées dans le format approprié à la requête/ | ||
- | * les plugins de templates sont dédiés à un format de sortie spécifique. | + | * les plugins de templates sont dédiés à un format de sortie spécifique. |
- | * Les sélecteurs : la syntaxe a changée | + | * Les sélecteurs : la syntaxe a changé |
* Grâce à certains sélecteurs il est possible de proposer un fichier alternatif à un original. Cela permet ainsi de ne pas toucher au code d'un module. Ainsi, on peut redéfinir les templates, les daos, les locales. | * Grâce à certains sélecteurs il est possible de proposer un fichier alternatif à un original. Cela permet ainsi de ne pas toucher au code d'un module. Ainsi, on peut redéfinir les templates, les daos, les locales. | ||
* Il n'y a plus de " | * Il n'y a plus de " | ||
* Une application peut utiliser des modules se situant dans des répertoires différents. On peut ainsi mutualiser des modules entre plusieurs applications. Idem pour les plugins du coordinateur et les plugins de templates. | * Une application peut utiliser des modules se situant dans des répertoires différents. On peut ainsi mutualiser des modules entre plusieurs applications. Idem pour les plugins du coordinateur et les plugins de templates. | ||
- | * Fichiers de configurations au format INI : plus rapide à analyser | + | * Fichiers de configurations au format INI : meilleur performance |
- | * Des noms de répertoire, | + | * Des noms de répertoire, |
===== Actions, Actiongroup, | ===== Actions, Actiongroup, | ||
Ligne 37: | Ligne 38: | ||
===== DAO et Db ===== | ===== DAO et Db ===== | ||
- | Jelix réutilise le concept de DAO de Copix et le connecteur de bases de données CopixDb. Cependant, le format de DAO a un peu changé, étendu et le moteur totalement refait. Les méthodes PHP sont maintenant à intégrer dans le fichier XML, il n'y a donc plus la possibilité de faire des classes PHP annexes. | + | Jelix réutilise le concept de DAO de Copix et le connecteur de bases de données CopixDb. Cependant, le format de DAO a un peu changé, |
CopixDb (jDb dans Jelix) a subit un gros nettoyage et il ne reste que ce qui est utile (il n'y a plus par exemple les QueryWidget et il ne reste que l' | CopixDb (jDb dans Jelix) a subit un gros nettoyage et il ne reste que ce qui est utile (il n'y a plus par exemple les QueryWidget et il ne reste que l' | ||
- | D' | + | D' |
- | À terme, jDbConnection/ | + | À terme, jDbConnection/ |
===== Localisation ===== | ===== Localisation ===== | ||
Ligne 55: | Ligne 56: | ||
Jelix embarque donc un moteur de template inédit, bien plus léger. Il utilise une syntaxe de balise similaire à Smarty mais les expressions utilisées dans les balises sont en php. On peut aussi utiliser des plugins comme dans smarty (en fait, on peut réutiliser les plugins smarty sans trop de modifications pour les plus simples d' | Jelix embarque donc un moteur de template inédit, bien plus léger. Il utilise une syntaxe de balise similaire à Smarty mais les expressions utilisées dans les balises sont en php. On peut aussi utiliser des plugins comme dans smarty (en fait, on peut réutiliser les plugins smarty sans trop de modifications pour les plus simples d' | ||
- | Il ajoute aussi une notation syntaxique spécifique pour les locales : @module~my.locale@ , permettant de récuperer | + | Il ajoute aussi une notation syntaxique spécifique pour les locales : @module~my.locale@ , permettant de récupérer |
===== Authentification et Droits ===== | ===== Authentification et Droits ===== | ||
Ligne 63: | Ligne 64: | ||
La gestion de droits de Copix n'a pas été reprise et Jelix proposera dans la version finale un nouveau système plus clair et plus performant. | La gestion de droits de Copix n'a pas été reprise et Jelix proposera dans la version finale un nouveau système plus clair et plus performant. | ||
- | ===== Système | + | ===== Système |
Peu de choses ont été modifiées de l' | Peu de choses ont été modifiées de l' | ||
Ligne 73: | Ligne 74: | ||
===== Urls ===== | ===== Urls ===== | ||
- | Jelix contient un système de mapping d'url sur les actions. Deux moteurs de génération / parsing d'urls sont disponible | + | Jelix contient un système de mapping d'url sur les actions. Deux moteurs de génération / parsing d'urls sont disponibles |