Archive

Articles taggués ‘mvc’

Introduction à Ember.js

Cette année 2012 à été riche pour l’écosystème javascript et particulièrement pour les frameworks MVC côté client.

Je me propose dans cet article de vous présenter un challenger méconnu à côté de Backbone.js ou de Angular.js.

 

Ember.js

Ember.js

Lire la suite…

Share
Categories: Frameworks Tags: , , ,

Menez le web à la baguette avec symfony (2) : un squelette pour pas chair

Résumé de l’épisode 1

Dans l’article précédent,  nous avons rapidement vu que des solutions intéressantes apparaissent au sein du monde PHP. Parmi l’un des nombreux frameworks émergeants, nous avons choisi d’étudier symfony à travers la création d’une application web de gestion de bookmarks, Plum. Nous avons pour l’instant créé une application par défaut. Il reste maintenant à lui faire faire son “vrai” travail…

Nous manipulons pour l’instant peu de types de données : les bookmarks et les tags. Voici un diagramme UML les représentant :

7bda79a8

Diagramme de classes de notre modèle

(Ce magnifique diagramme a été réalisé en ligne sur le site de yuml.me. Publicité gratuite :)).

Pour facilement manipuler les données en base, symfony gère de base deux Object-Relational Mappers (ORM) : Doctrine et Propel. Cependant, comme Doctrine est devenu l’ORM par défaut depuis la version 1.3 du framework, c’est lui que nous utiliserons. Doctrine propose une solution élégante d’accès aux données via le langage DQL, inspiré du HQL d’Hibernate, ainsi qu’une API d’accès aux données.  Propel se base de son côté sur une API semblable aux Criteria. Que l’on utilise Doctrine ou Propel, symfony fonctionne de manière semblable. Dans la suite de cet article, je vais détailler pas à pas les étapes suivantes :

  • configuration de l’accès à la BDD (hôte, port etc.),
  • définition du modèle de données dans un fichier au format YAMLconfig/doctrine/schema.yml,
  • appel de la commande responsable de la génération des classes du modèle, du code SQL, de la création de la BDD et chargement des données de test en BDD,
  • éventuelle génération de modules dans une application pour faire du CRUD basique,
  • adaptation du code et utilisation de l’API Doctrine… Lire la suite…
Share