Validation des paramètres passés en GET avec l’OptionsResolver

L’OptionsResolver est mon nouvel ami depuis la 2.1, et je m’en sers assez souvent.

Ci-dessous un petit exemple de l’utilisation de l’OptionsResolver pour valider les paramètres passés en GET sur une action.

On peut être amené à faire ce genre de validation lors de la mise en place d’une API Rest par exemple.

L’idée est de pouvoir définir simplement une liste de paramètres obligatoires et d’autres facultatifs.

Utilisation de l’event dispatcher depuis les classes du modèle.

Le but de cet article n’est pas d’expliquer le fonctionnement des événements symfony, la documentation officielle est très bien faite à ce sujet, et pas mal d’articles expliquant leur implementation existent déjà.

Le but est juste de savoir comment faire pour avoir accès à l’event dispatcher depuis les classes du modèle, de manière à pouvoir lever des événements « métiers » qui permettent des traitements qui se rapprochent des trigger sql. L’avantage est de rester au sein de l’application symfony et ne pas disperser la logique. C’est une problèmatique que nous avons rencontré à plusieurs reprises dans les projets et nous avons pu trouver cette implementation grace à n1k0 de chez Akei.

Qui l’eu CRUD ? Ou comment créer un thème pour les CRUD Doctrine de Symfony.

Symfony propose des outils très puissants pour faciliter le développement d’applications et surtout la génération des modules grâce à l’Admin Generator et le CRUD. Chacunes de ces solutions à ses avantages et ses inconvénients.

L’admin generator permet en une commande d’avoir un module complet et fonctionnel avec de nombreuses fonctionnalités, le tout relativement configurable. En contre partie, l’ajout de fonctionnalités spécifiques et la mise en forme peuvent rapidement s’avérer fastidieuses. Être obligé d’aller fouiller dans le cache pour aller faire des copier/coller afin de pouvoir surcharger une action, c’est comme qui dirait, bien mais pas top…

Tips : Symfony 1.3/1.4 orderBy des relations

Depuis la branche 1.3/1.4 la gestion des relations a été bien enrichie.

Au niveau des formulaire l’apparition du EmbedRelation a vraiment facilité l’implémentation des embedForm. Je ne vais pas reprendre l’explication de cette fonctionnalité dans cet article et vous renvoie donc vers le très bon article de NiKo sur son blog (En anglais).

Petit problème, l’ordre de tri de la Doctrine_Collection retrounée qui est …

Du Javascript dynamique dans une vue en utilisant sf_format

Il arrive que l’on ai besoin d’utiliser un script javascript spécifique dans une vue. Un script dynamique qui nécessite d’être renseigné par des informations de php (utiliser des variables ou des méthodes de nos objets).

Dans mon précédent post j’évoquais les différentes possibilités d’inclure le javascript dans les vues.

  • Mettre des balises <script> directement au milieu du html (un peu crade mais efficace)
  • Faire un fichier .js « en dur » dans le dossier /web/js (mais là on perd la possibilité d’utiliser du php)
  • Utiliser un slot dans le <head> du template
  • Utiliser une vue

C’est ce dernier point que je vous propose de voir aujourd’hui.