Archives pour la catégorie Symfony

Ajouter une étoile aux champs obligatoires de manière automatique

Plutôt que d’intégrer l’étoile d’un champ obligatoire dans son label, ça peut être sympa de l’ajouter dès que l’option « required » du validateur associé est à « true« .
Symfony vous permet facilement de le faire via les événements !
Continuer la lecture de Ajouter une étoile aux champs obligatoires de manière automatique 

Plus loin avec le sfDoctrineGuardPlugin : performances et astuce

Nous aborderons dans cet article 2 thèmes :

Continuer la lecture de Plus loin avec le sfDoctrineGuardPlugin : performances et astuce 

Symfony : méfiez-vous des chemins relatifs

Il se trouve que le client pour lequel j’ai travaillé a une configuration d’Apache un peu particulière, qui est constituée de 2 Apaches avec du reverse proxy et tutti quanti.

Du coup, le site Symfony n’a pas son propre virtualhost exposé directement sur le Web : on ne tape pas http://monsitesymfony.com pour y accéder mais http://apps.monentreprise.com/monsitesymfony/, car ils mutualisent leurs applications.

Conséquence : deux ou trois choses ne fonctionnaient pas du 1er coup concernant les uploads et prévisualisation des fichiers uploadés ou encore l’image d’un datepicker.

Pour s’affranchir de ce genre de problème, je vous conseille de toujours faire un passe de test sans utiliser le virtualhost, mais plutôt http://votreserveur/votresite/web/, de façon à détecter ce genre de problème.

Continuer la lecture de Symfony : méfiez-vous des chemins relatifs 

Logs des requêtes Doctrine, comment les activer/désactiver ?

Je cherchais l’information pour activer les logs des requêtes Doctrine lorsque je l’utilisais au travers d’une tâche, et non d’un module Symfony.
En fait c’est simple, il suffit juste de trouver soi-même l’information !

Dans l’ordre de priorité, Doctrine s’appuye d’abord sur un paramètre logging dans le database.yml, et s’il ne le trouve pas, il s’appuye sur la valeur du logging_enabled dans le settings.yml de votre application.

Toute l’information se trouve dans sfDoctrineDatabase qui instancie un profiler sfDoctrineConnectionProfiler.

database.yml :

dev:
  doctrine:
    class: sfDoctrineDatabase
    param:
      dsn:      mysql:host=...;dbname=...
      username: ...
      password: ...
      logging: true

settings.yml :

dev:
  logging_enabled: false

Cache Doctrine avec SQLite

Doctrine propose de stocker en cache soit la requête DQL compilée (évite de générer la requête SQL à chaque appel)  ou bien carrément le résultat de la requête (évite de faire travailler la BDD + échanges réseau).

L’implémentation permet de se brancher sur n’importe quelle système de stockage : Memcache, APC, base de données, fichier, session, mémoire, choisissez celui qui vous convient.
Continuer la lecture de Cache Doctrine avec SQLite