Twig : insérer un morceau de template uniquement en mode debug

Dans vos template Twig il peut vous arriver de vouloir insérer certains éléments uniquement en phase de debug (exemple : du code javascript pour remplir un formulaire de paiement avec des données de test).

Voici donc comment faire :

{% if _self.env.isDebug() %}
<!-- ceci ne sera visible qu'en debug -->
{% endif %}

Php : aider l’autocompletion des IDE

L’un des défauts du développement PHP est l’absence, parfois, d’auto-complétion dans nos IDE notamment lors de manipulation d’objet. En effet le typage dynamique de PHP empêche nos fidèles IDE de pourvoir déterminer correctement le type de la variable que nous manipulons et donc de déduire les méthodes et autres membres de classe à nous afficher.

Néanmoins une solution existe au moins pour NetBeans (mais il me semble que tous les IDE récent doivent supporter cette fonction). Pour aider l’IDE il suffit ainsi de lui indiquer via la syntaxe PHPDoc le type de notre variable :

/* @var $maVar MaClasse */

De cette façon, vous disposerez de l’auto-complétion sur votre variable $maVar.

Happy Coding !

Magento : astuce de chemin des templates dans l’administration

Lors de l’intégration d’un site Magento on peut être amené à devoir modifier les templates de l’administration. Pour cela il peut être intéressant d’afficher les chemins des différentes templates utilisées. Malheureusement, contrairement à la partie « Front » cette option ne peut être activée via l’interface de configuration.

Pour ce faire il convient donc d’aller directement dans la base de donnée (table « core_config_data ») et de chercher la ligne ayant pour valeur « dev/debug/template_hints » dans la colonne « path ». Une fois trouvée, il vous suffit de modifier la colonne « scope_id » de cette ligne en 0.

Symfony : ouvrir par le code une connexion Doctrine

Lors d’un récent projet avec Symfony (1.4), je devais ouvrir une connexion doctrine  à la volée. Rien de bien compliqué jusque là.

Par contre afin de pouvoir logger et tracer correctement les actions sur cette connexion, il m’a fallu un peu chercher comment déclarer celle-ci auprès de Symfony afin de bénéficier des possibilités du framework.

Je vous livre donc tel quel le code permettant d’ouvrir une connexion par le code et de la déclarer auprès du gestionnaire de bdd intégré au framework.

<?php
$connexionString = '...';
$parameters = array(
     'name' => 'client',
     'dsn' => $connexionString
     );
$database = new sfDoctrineDatabase($parameters);
sfContext::getInstance()->getDatabaseManager()->setDatabase('client', $database);
?>