IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Ext4Yii : un framework permettant de combiner ExtJS et Yii
Un framework JavaScript et un framework PHP

Le , par vermine

12PARTAGES

4  0 
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.

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de sekaijin
Expert éminent https://www.developpez.com
Le 05/01/2013 à 13:38
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
1  0