Developpez.com - Rubrique JavaScript

Le Club des Développeurs et IT Pro

Ext4Yii : un framework permettant de combiner ExtJS et Yii

Un framework JavaScript et un framework PHP

Le 2013-01-04 11:09:38, par vermine, Expert éminent sénior
Ext4Yii, un framework permettant de combiner ExtJS et Yii
un framework JavaScript et un framework PHP.


Ext4Yii est un framework d'application basé sur le framework JavaScript Ext JS et sur le framework PHP Yii.

Yii est utilisé pour développer des applications Web 2.0. Gratuit, rapide et suivant le modèle MVC, il a beaucoup de plugins et d'extensions.

Ext4Yii est une extension pour Yii. Il est basé sur un système de template d'affichage, et il fournit une bibliothèque de balises côté serveur pour les composants de Ext JS. Ext4Yii comprends des modèles XML où vous pouvez définir des éléments de l'application comme des boutons, des grilles, des Store et du JavaScript intégré. Les balises XML sont ensuite analysées et converties en Ext JS qui est mis en cache pour être réutilisé et ensuite envoyé au navigateur.


Ext4Yii génère un lien transparent entre Ext JS et Yii. Il s'occupe d'amorcer Ext JS, de génèrer des écouteurs d'événements, de gèrer les événements de l'application et surtout il utilise Ext.Direct pour la communication de données entre les composants de Ext JS et les classes PHP.

Ext4Yii est livré avec plusieurs classes de base de PHP qui peuvent être dérivées pour créer des contrôleurs de recherche de données, des contrôleurs de CRUD (create, read, update, delete), etc. en PHP. Vous pointez sur ces classes dans votre modèle XML et Ext4Yii génère du JavaScript pour la transmission de données et la gestion des exceptions.

Le développement comprends en général quatre étapes :

  • définition des éléments de l'interface utilisateur ;
  • définition des données (Store, Model, etc.) ;
  • implémentation d'une classe de contrôleur PHP ;
  • définition du composant d'interface utilisateur pour pointer vers le Store et pour faire pointer le Store vers le contrôleur.


Voici un exemple de Model et de Store avec l'interface utilisateur en Ext4Yii :


Voici un exemple d'un contrôleur. Dans cet exemple, on interroge la base de données et on exporte les données vers Ext JS :


Pour gérer les événements, Ext4Yii fournit un moyen facile d'intégrer des fonctions JavaScript qui sont restituées comme écouteurs d'événements sur un composant donné.


Il est également possible d'appeler une fonction PHP depuis le JavaScript avec Ext4Yii.

Vous trouverez plus d'information sur l'article officiel.

La page du produit.
Vidéos.
  Discussion forum
1 commentaire
  • sekaijin
    Expert éminent
    bonjour

    interessant, mais j'ai depuis très longtemps abandonné c'ette approche.
    utiliser un système de template en php pour dénérer un code js est contre productif.

    il faut maitriser php, le langage de template et js donc trois langage à la place de deux

    de plus le systeme de template même avec du cache implique une interprétation du lagage de template fait en php lui même interprété pour produire du code js qui à sont tour sera interprété.

    à cela s'ajoute le fait qu'avec ExtJS un code satique est ce qui est le plus efficace. l'interêt d'en passer par 2 couche d'interprétation suplémentaire est nulle. pire si on ne la maitrise pas on va produire dynamiquement du code js qui sera systématiquement rechargé (mauvaise gestion du cache navigateur) et recompilé (mauvaise utilisation de la machine virtuelle js)

    A+JYT