Pour les développeurs sous Yii (qui sont de plus en plus nombreux), voici mon top 6 des meilleurs extensions disponibles sur le site officiel :
nestedset : Si le tree behaviour de CakePHP vous manque dans vos développements Yii, c’est l’extension qu’il vous faut. Il s’agit d’une très bonne implémentation de concept de Preordered Tree Traversal. Encore à l’état de beta, mais hautement utilisable
cclientscriptminify : Vous voulez optimiser et compresser automatiquement vos javascripts et css sur votre site de production ? Cette extension complète efficacement l’API de Yii afin d’y parvenir sans difficultés (gains de performance pour vos utilisateurs finaux à la clé)
xreturnable : Un excellent comportement de contrôleur qui vous permet de gérer les url de retour. Cela permet de gérer facilement le cas classique ou, lorsqu’un utilisateur accède à l’édition d’un enregistrement par une liste paginée ou triée, vous souhaité le re-diriger exactement sur la page et le contexte d’où il est parti après validation du formulaire.
jui : Intégrer des interfaces jQuery UI dans un framework PHP n’a jamais été aussi simple
mailer : Un très bon warpper pour utiliser la classe d’envoi de mails PHPMailer. Quasiment indispensable dans un projet digne de ce nom
Evidement, l’utilité de ces extensions variera pour vous en fonction du type d’application que vous développez.
Les autres extensions proposées sur le site sont loin d’avoir toutes le même niveau d’intérêt ou de qualité. Malheureusement, certaines sont même largement buggées (ephotovalidator par exemple) ou très mal implémentées (acselect…). Donc avant de vous lancer dans l’installation d’une extension, la prudence est de mise. N’hésitez pas à jeter un oeil sur le code source de ce que vous installez afin d’éviter les déceptions.
Enfin, de nombreuses extensions sont également trouvables dans le forum. La création d’une extension n’est pas très compliquée. Un futur tutorial vous montrera la marche à suivre.
On continu le tour des astuces pour Yii Framework avec un petit tuto qui montre comment mutualiser certains comportements et paramètres entre tous les contrôleurs d’une même application.
Les mises à jour de Yii, l’excellent framework PHP 5, se succèdent toujours aussi régulièrement, pour le meilleur
Au menu de la version 1.0.6 qui vient juste d’être publiée, on trouve la correction d’une dizaine de bugs, mais aussi des améliorations notables :
Le support des « named scope » a été étendu, notamment aux données relationnelles
Le profiling SQL et les logs des informations de contexte (variables d’environnement, $_GET…) ont fait leur apparition (je mettrai à jour le tuto sur le profiling afin d’en montrer un exemple d’utilisation)
L’UrlManager dispose maintenant de 2 nouveaux paramétres urlSuffix et caseSensitive
Les erreurs peuvent maintenant être gérées par un contrôleur spécifique permettant un contrôle et une personnalisation encore plus poussée des messages d’erreur
La commande Yiic supporte désormais la génération des modèles de toutes les tables de la base de données en une seule fois. Elle permet également de générer automatiquement les relations entre les tables.
Un petit tuto Yii qui montre comment utiliser les fonctions de « profiling » permettant d’améliorer les performances d’une application est disponible ici. Vos remarques et commentaires sont les bienvenus.
Au menu, encore que du bon avec des corrections de bugs divers et quelques nouveautés bienvenues:
Les ActiveRecords s’enrichissent d’une fonctionnalité « named scopes » empruntée à Ruby on Rails permettant de créer des contextes préétablis affectés aux requêtes. Par exemple, si vous désirez créer un contexte ‘recently’ dans lequel vos résultats seront triés par ordre de création décroissant et limité à 10 enregistrement, vous pourrez simplement appelé vos données en exécutant MonModel::model()->recently()->findAll() (une fois le dit contexte codé dans le modéle, évidement). En plus, les appels de contextes peuvent être enchaînés et cumulables avec vos propres critères. Très pratique !
Les chargements passifs de données relationnelles ont également été optimisés et de nouvelles options permettent leurs contrôles encore plus précisément (un bug a d’ailleurs été corrigé au passage).
Oracle fait maintenant parti des bases de données supportées
Enfin, la gestion des URL a été amélioré.
La liste complète des améliorations et correction peut être consulté ici.
Pas de soucis particuliers de mise à jour à noter. Veillez juste à effectuer une purge de vos fichiers de cache si vous avez activé les fonctions de gestion d’URL (sous peine d’une grosse erreur PHP après upgrade).
Yii reste, malgré l’ajout de fonctionnalité, le framework PHP le plus rapide du monde et après quelques développements d’applications professionnelles, c’est un réel plaisir de le pratiquer au quotidien !
Allez hop ! Comme tous les débuts de mois, voici une mise à jour de mon framework PHP préféré : Yii Framwork 1.0.4
Quoi de neuf sous le soleil ?
Correction d’une vingtaine de bugs divers et variés,
Un nouveau type de relation « STAT » pour les ActiveRecords permettant d’optimiser les requêtes de type comptage du nombre d’enregistrements trouvés pour une relation MANY_MANY ou HAS_MANY,
La possibilité de travailler avec les AR sur tables sans clés primaires ou contraintes étrangères,
Le support de SQL Server,
De nouveaux validateurs,
Le support de nouveaux types de caches (Zend Data Cache et eAccelerator).
La liste complète des changement peut être consultée ici.
Aucun souci majeur de mise à jour depuis les versions précédentes. J’ai juste rencontré un problème concernant l’appel des objets widgets qui ne doivent plus être précédés d’un « echo » sous peine d’erreur dans les vues. En clair, au lieu d’écrire « echo $this->widget » il faut maintenant utilisé un « $this->widget » tout court.
Au menu de cette livraison, une douzaine de corrections de bugs, le support de Google AJAX API grâce à une tout nouvelle classe, la mise à jour jQuery en version 1.3.2 et plusieurs améliorations des ActiveRecord permettant un contrôle encore plus fin des requêtes et notamment des données relationnelles (dont un très pratique support de « count() » afin de retrouver le nombre d’enregistrements liés). Enfin, la documentation gagne encore en épaisseur et en qualité.
Dans la section « tutoriaux », vous trouverez un nouveau tutorial relatif à Yii framwork : Comment afficher toutes les requêtes SQL produites par une page et comment afficher élégamment vos messages de débogage.
A noter qu’une nouvelle section à fait son apparition sur le site officiel de Yii : The Yii Cookbook qui vous propose une liste de « recettes » concernant des taches de développement spécifiques (en anglais).
Vos commentaires sont les bienvenus. Bonne lecture à tous.
Commentaires récents