mercredi 10 juin 2015

php-cs-fixer intégré dans PHPStorm

php-cs-fixer, l'outil de réécriture de code PHP pour respecter des normes de dev, est sorti en version 1.0 en novembre 2014.
Il permet de réécrire du code selon certaines configurations, par exemple short_tag qui ne permet pas l'utilisation des short tags (), eof_ending qui ajoute une ligne vide en fin de fichier, etc.

Installation
wget http://get.sensiolabs.org/php-cs-fixer.phar -O php-cs-fixer chmod a+x php-cs-fixer sudo mv php-cs-fixer /usr/local/bin/php-cs-fixer

Intégration dans PHPStorm

php-cs-fixer peut être automatiquement appelé, à chaque sauvegarde d'un fichier PHP, dans PHPStorm.
Il faut aller dans Files / Settings / Tools / File Watchers, cliquer sur le + vert en haut à droite, choisir <custom>.
Dans File type : choisir PHP files.
Dans Program : indiquer le lien vers php-cs-fixer (/usr/local/bin/php-cs-fixer dans notre exemple).
Dans Arguments : fix $FilePath$ --level=symfony

Personnellement, je change quelques directives de réécriture, ce qui me done pour Arguments : fix $FilePath$ --level=symfony --fixers=concat_with_spaces,-multiline_array_trailing_comma,-phpdoc_params,-align_equals.

php-cs-fixer documentation

lundi 25 mai 2015

steevanb/gitscripts passe à la version 2.2.2

steevanb/gitscripts, qui contient quelques scripts bash pour faciliter des opérations avec git, passe en version 2.2.2, avec ces modifications (par rapport à la 2.1.0) :

  • Ajout de rebase.sh : si vous avez des modifications, effectue un git stash, ensuite git fetch, git rebase -p origin/foo, puis git stash pop si besoin
  • Toutes les commandes executées sont surlignées en violet
  • Ajout d'un changelog

github.com/steevanb/gitscripts

Plugins Symfony2 pour PHPStorm

PHPStorm, édteur PHP développé par JetBrains, peut être grandement amélioré par des plugins, disponibles via le menu Files / Settings / Plugins et le site http://plugins.jetbrains.com

Symfony2
Permet d'avoir l'auto-complétion sur énormément de choses : identifiants de service, routes, forms, repositories ...
Télécharger et installer

PHP Annotations
Permet d'avoir l'auto-complétion sur toutes les annotations, par exemple @ORM\OneToMany(), @Assert\NotBlank(), etc.
Télécharger et installer

Clickable views
Permet d'avoir un CTRL + click sur tous les liens vers des vues : dans des controllers (par exemple avec $this->render()), dans des vues (par exemple {% extends %}, {% include %}), etc.
Télécharger et installer

Symfony 2.6.7 disponible

Symfony 2.6.7 est disponible, et corrige 39 bugs.

Si vous êtes sur la branche 2.6 de Symfony2, il est recommandé de passer à cette version.

http://symfony.com/blog/symfony-2-6-7-released

Symfony 2.3.28 disponible

Syfmony 2.3.28 ( l'actuelle LTS, en attendant la 2.7 qui devrait sortir en mai 2015) est disponible, et corrige 16 bugs.

Si vous êtes sur la branche 2.3 LTS de Symfony2, il est recommandé de passer à la version 2.3.28.

Changelog Symfony 2.3.28

PHP 5.6.9 disponible

PHP 5.6.9 est disponible, avec 19 bugs corrigés, et la mise à jour de pcrelib en 8.37.

Si vous êtes sur la branche 5.6 de PHP, il est recommandé de mettre à jour vers cette version.

Changelog PGP 5.6.9

mercredi 29 avril 2015

steevanb/gitscripts passe à la version 2.1.0

Le dépôt github steevanb/gitscripts passe en version 2.1.0, avec l'ajout du script push.sh.

Ce script est très simple, il permet d'effectuer un push uniquement de la branche courante, vers origin.
C'est une sorte de raccourci, pour éviter de taper git push origin foo.

Rappel : pour créer un alias vers ce script, vous devez éditer votre fichier ~/.bashrc, et ajouter cette ligne :
alias gp="/foo/bar/push.sh"
Ensuite, vous devez recharger le fichier bashrc, avec la commande source ~/.bashrc.
Désormais, la commande gp effectue un push, uniquement de la branche courante, vers origin.

mardi 28 avril 2015

Commandes lancées par composer

Composer, largement utilisé par les développeurs PHP pour gérer leurs dépendances, permet d'appeler des méthodes statiques lors d'événements lancés par Composer (post-install-cmd et post-update-cmd étant les plus utilisés, voir la liste des événements).


Comment faire pour passer des paramètres à ces méthodes statiques ?
La signature de la méthode qui sera appelée est la suivante :
foo(\Composer\Script\CommandEvent $event).

self::getOptions($event) permet de récupérer tout ce qui a été indiqué dans la clef extras de composer.json (par exemple symfony-app-dir, symfony-web-dir etc). Vous pouvez donc ajouter ici des options, et les relire dans votre commande.


Exemple : la commande app/console assets:install accepte le paramètre --symlink, et depuis Symfony 2.6, ne lève plus d'exception si le serveur ne gère pas les liens symboliques. Donc, elle doit toujours être appelée avec --symlink comme paramètre.

Composer appelle bien Sensio\Bundle\DistributionBundle\Composer::installAssets(), mais ne lui passe pas le paramètre --symlink. Il faut donc ajouter symfony-assets-install: symlink (ou relative) dans la clef extras de votre composer.json :
# composer.json { # --- "extras": { # --- "symfony-assets-install": "symlink" } }

dimanche 5 avril 2015

PHP 5.6.7 disponible

PHP 5.6.7 est disponible, avec 32 bugs corrigés et des ajouts de contantes pour libcurl.
La branche 5.6 de PHP commence a être vraiment stable, et utilisable en environnement de production.

Voir le changelog

Symfony 2.6.6 disponible

Symfony 2.6.6 est disponible, avec 15 corrections de bug et 2 modifications pour la sécurité.

Une faille très importante, touchant toutes les versions de Symfony2, a été corrigée dans les versions 2.3.27, 2.5.11, et 2.6.6 (les versions précédentes n'étant plus maintenues). Cette faille permet d'injecter du code PHP, et de le faire exécuter par le serveur.
Plus d'informations sur la faille CVE-2015-2308


Si vous êtes sur la branche 2.6.x de Symfony, il est fortement conseillé de mettre à jour vers la version 2.6.6.

Voir le changelog