Sublime text 2 et xdebug : liens cliquables sur les fichiers

Salut,

Si comme moi vous utilisez sublime text 2 pour développer, vous allez apprécier ce petit tips. Par exemple quand vous avez une erreur 500 et / ou une fatal erreur, xdebug vous affiche la backtrace avec le nom des fichiers. Grâce a ce hacks, il est possible d’ouvrir directement dans sublimetext le fichier correspondant.

Configuration de Xdebug :

dans le fichier xdebug.ini (ou directement dans php.ini) il faut ajouter la ligne suivante :

xdebug.file_link_format=sblm://%f?%l

Puis redémarrer apache ou php-fpm …

Configuration de sublime text

Il faut ajouter ce package dans la liste des packages. Il suffit de dézipper le contenue de l’archive dans le dossier package de sublime text 2, disponssible via le menu « Préférence > Browse Package »

Et voila le tours est joué ;)

Fichier distant

Les liens crées sont des liens absolu sur le système qui héberge l’application. Si vous travaillé en remote, ce petit snippet va remplacer les liens pour qu’ils correspondent à votre système de fichier local, et non distant. Il faut juste penser à adpater les variables : BASE_REMOTE_PATH et BASE_LOCAL_PATH.

Attention

Cela ne marche pour l’instant que sur windows. Je pense que c’est assez simple de faire la meme choses pour linux.

Source

Mysql + export + csv + groupy en gardant les colonnes groupées

Petit tips avec MySQL. Admettons que vous voulez faire un export en csv d’une table (A). Dans ce cas, c’est facile, il suffit d’utiliser « INTO OUTFILE ». Par contre, si vous avez une jointure (A -> B), c’est plus compliqué.

Il y a plusieurs solutions : soit on se retrouve avec plusieurs ligne de la table A en double, puis à « droite » de ces lignes , les colonnes de la table B.

Soit on utilise la fonction group_concat; et un petit hack ;)

Exemple :

SELECT c.id, c.first_name, c.last_name,  GROUP_CONCAT(CONCAT(p.bar_code,'||',p.quantity,'||',p.date) SEPARATOR "||")
FROM contact c
LEFT JOIN product p on (c.id = p.contact_id)
GROUP BY c.id
INTO OUTFILE '/tmp/export.csv' FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '"';

On fait notre jointure normalement, on group by sur c.id, et c’est dans le select qu’il y a une peu de magie. On va d’abord concaténer les attributs de la table « product » avec comme séparateur deux pipes « || ». Et ensuite, on va concaténer toutes les valeurs résultantes de la fonction GROUP BY.

Enfin, il va falloir remplacer tous nos doubles pipes par « ; » qui correspond a nos délimiteurs de champs.

sed -i 's/||/";"/g' /tmp/export.csv

Et voila, vous avec un beau fichier CSV bien formaté ;) Ici le hack c’est de remplacer un délimiteur un peu spécial « || » par un vrai délimiteur, a posteriori.

P.S. : Il se peut que mysql exporte le fichier csv avec l’utilisateur mysql. Vous n’aurez donc pas les droits pour le lire et/ou le modifier. Il faut donc passer en root ;).

Silex Kitchen Edition

Silex est un micro-framework (en php) basé sur les composants de symfony2. Je vous invite à aller voir la documentation. La documentation est déjà bien fournie, cependant vous pouvez aller voir la présentation d’Igor au sfDay. Il existe aussi un très bon tuto sur fait par exiit.

Bref, tout ca pour dire, que je vous propose une « édition » de silex, déjà packagée avec plusieurs services, comme les sessions, le cache, twig, etc etc … disponible sur github. Dans cette édition, il y a des exemples avec des formulaires, de la validation etc etc…

Enfin, n’hésitez pas a aller faire un tour sur le dépôt officiel de silex.

Lister ses films

Un petit script .sh (donc pour linux/mac) pour lister tous les films qui peuvent trainer dans plusieurs répertoires et sous répertoires…

wget https://gist.github.com/raw/1008082/dc6cdb8ae50bd981ae9458cc270f96de41583718/movieList.sh
chmod +x movieList.sh
# Configure VIDEO_FOLDER
gedit movieList.sh
./movieList.sh
cat movie_list.txt

Continue reading