Le blog des salariés

Aller au contenu | Aller au menu | Aller à la recherche

jeudi, janvier 22 2009

Symfony et grep

J'ai écrit un nouveau plugin minimaliste facilitant l'utilisation de la commande grep dans le framework Symfony.

Il est implémenté comme une «task» Symfony.

Il est désormais possible de faire des recherches dans le code source du projet Symfony à l'intérieur des actions, des classes du modèle, des formulaires, des filtres et des templates.

Il y a un fichier de configuration pour régler les répertoires et fichiers exclus par défaut, ainsi que les options par défaut passées à grep.

Quelques exemples :

  • recherche de getContactInformation dans tout le code source (en excluant les répertoires de cache, les plugins, etc.) :
symfony grep getContactInformation

L'option -n affiche la ligne grep qui aurait été exécutée :

symfony grep getContactInformation -n
grep "getContactInformation" -r --color=always -i -n --include=*.php --include=*.css --include=*.js --include=*.yml --include=*.ini --exclude-dir=./lib/model/om --exclude-dir=./lib/model/map --exclude-dir=./lib/form/base --exclude-dir=./lib/filter/base --exclude-dir=./cache --exclude-dir=./plugins .
  • recherche de "Nouveau" dans les templates et dans les formulaires
$ symfony grep Nouveau --templates --forms -n
$ grep "Nouveau" -r --color=always -i -n ./apps/*/modules/*/templates ./lib/form/*.php

vendredi, janvier 16 2009

Propel Criteria Builder

Symfony propose les ORM Propel ou Doctrine par défaut.

L'ORM est censé simplifié l'écriture des requêtes. Cependant le développeur maîtrisant bien le langage SQL saura sans difficulté exprimer une requête SQL mais devra réfléchir pour être capable de l'exprimer dans l'ORM.

Si vous utilisez Propel, voici un site qui propose de construire le Criteria Propel à partir d'une requête SQL, ou même d'une sous-partie de requête SQL.

Par exemple, si j'entre ceci :

contact.id NOT IN (1,2,3)

Le code suivant sera généré :

$c = new Criteria();
$crit0 = $c->getNewCriterion(ContactPeer::ID, array(1,2,3), Criteria::NOT_IN);
 
// Perform  at level 0 ($crit0 )
 
 
// Remember to change the peer class here for the correct one in your model
$c->add($crit0);
$result = TablePeer::doSelect($c);
 
// This loop will of course need to be edited to work
foreach ($result as $obj)
{
	//$val = $obj->getValue();
}

Reste à adapter ce code à notre application.

lundi, janvier 12 2009

Symfony VlaDatePickerPlugin : intégration d'un widget Javascript

J'ai diffusé mon premier plugin pour Symfony. Il permet d'utiliser le widget Javascript Vla Date Picker.

Ce widget offre l'avantage d'être programmé en MooTools.

Pour l'instant il n'existe que très peu de plugins Symfony pour des widgets MooTools, la communauté utilisant plus volontiers JQuery. Mais nous qui souhaitons diffuser ce fabuleux framework Javascript qu'est MooTools, voici un premier (embryon de) plugin.

eeVlaDatePickerPlugin chez Symfony