mercredi 7 janvier 2015

Composer 1.0.0-alpha9 disponible

Composer, gestionnaire de dépendances PHP très connu, est passé en alpha9 le 7 décembre 2014.

Quelques modifications apportées par l'alpha9 :

  • Ajout d'une option remove, qui fait l'inverse de require, donc qui supprime une dépendance
  • Ajout d'un warning lors de l'installation d'une dépendance qui n'est plus maintenue
  • Ajout d'une option clear-cache pour vider le cache, plus besoin de le faire à la main (enfin !)
  • Amélioration des performances pour la résolution des dépendances, le gros point noir quand on commence à avoir un composer.json bien rempli

Pour mettre à jour votre composer, exécutez la commande composer self-update.

Liste des modifications de toutes les versions

Les changements apportés par Symfony 2.6

Symfony 2.6 est disponible depuis le 29 novembre 2014. Cette version majeure apporte environ 100 nouvelles fonctionnalités et améliorations.
Généralement, je ne préconise pas de sauter sur les mises à jour majeures, que ce soit pour des outils de développement ou des frameworks, mais d'attendre un peu que les problèmes principaux soient corrigés. Mais force est de constater que Symfony 2.6 a plutôt bien réussi son lancement, car seule une petite mise à jour corrigeant 4 bugs a été faite depuis.

Quelques différences importantes entre Symfony 2.5 et 2.6

  • Nouveau composant pour dumper des variables et effectuer du debug : VarDumper et DebugBundle
  • Thème Bootstrap intégré avec les Forms. L'idée est de faciliter l'affichage des formulaires pour les chartes graphiques basées sur Bootstrap
  • Ajout d'helpers sur Controller : redirectToRoute(), addFlash(), isGranted(), denyAccessUnlessGranted(), isCsrfTokenValid()
  • Les requêtes Ajax apparaissent dans le Profiler (la barre d'outils affichée en bas, en développement)

Liste des modifications entre Symfony 2.5 et 2.6
Comment passer de Symfony 2.5 à 2.6
Liste des commits entre Symfony 2.5 et 2.6 Beta 1

Symfony 2.5.9 disponible

Symfony 2.5.9 vient de sortir, avec 29 bugs corrigés.
Quelques problèmes de session (gestion des divers bugs en fonction de la version de PHP), un problème sur la commande cache:clear, la gestion des IPs, etc.

Voir les modifications de la version 2.5.9

jeudi 30 octobre 2014

Re-activer l'auto-complétion PHP dans Eclipse

Eclipse, environnement de développement grandement utilisé pour développer du PHP (mais surtout pour du Java), a quelques bugs assez "contraignants".

L'un d'eux est l'auto-complétion PHP qui "disparait en partie". A savoir que j'avais encore quelques auto-complétions pour mes classes ou mes variables, mais pas tout, et surtout, plus aucune auto-complétion pour toutes les fonctions PHP.
2 possibilités pour corriger ce problème, la 2ème a fonctionné chez moi sur Eclipse Kepler :
  • Supprimer la node <nature>org.eclipse.php.core.PHPNature</nature> contenue dans .projet (à la racine de votre projet)
  • Supprimer les fichiers .db dans .metadata\.plugins\org.eclipse.dltk.core.index.sql.h2 (à la racine de votre workspace)

Bien sûr, tout ceci en ayant fermé Eclipse, et en le relancant après les modifications.
Pensez à faire une sauvegarde de vos fichiers à modifier avant toute chose, au cas ou.

vendredi 12 septembre 2014

Nombre de lignes de code

Aujourd'hui, je me suis demandé comment avoir rapidement le nombre de lignes de code contenues dans un projet.

En cherchant un peu sur le net, je suis tombé sur une commande qui fait tout à fait bien son travail :
find /repertoire_a_scanner -type f -name "*.php" -exec wc -l {} +
Source : forum.ovh.com

jeudi 11 septembre 2014

PHP 5.6.0

PHP 5.6.0, la nouvelle branche majeure de PHP, est disponible.
Beaucoup de nouvelles fonctionnalités sont disponibles, en voici quelques-unes :
  • Constant scalar expressions
    Les constantes peuvent maintenant avoir comme valeur une opération ou concaténation de constantes. Avant, PHP n'autorisait que les valeurs "simples" (sans calcul ni concaténation) pour les constantes.
  • Variadic functions
    Permet d'avoir tous les paramètres finaux d'un appel à une fonction dans un tableau, avec la sytanxe ...$params. Ca permet de ne pas définir tous les paramètres d'une fonction dans sa signature, et de ne pas avoir à utiliser func_get_args() et autres fonctions de ce type pour récupérer ces paramètres.
  • Opérande mathématique ** pour la puissance
    $a ** $b veut dire $a puissance $b.
  • use const et use function
    Permet d'importer dans son namespace des constantes, et des fonctions, d'un autre namespace. Avant, use ne permettait d'importer que des classes, ou d'utiliser des traits dans une classe.

PHP 5.6.0 new features

mercredi 10 septembre 2014

Symfony 2.5.4

Symfony 2.5.4 est disponible en téléchargement.

Cette version corrige environ 35 bugs, contient 5 modifications de sécurité et une nouvelle configuration pour MongoDB.

Si vous êtes sur la branche 2.5.x, il est conseillé de passer à la 2.5.4.

Symfony 2.5.4 changelog

samedi 23 août 2014

Requête SQL et hydratation d'objet via Doctrine2

Symfony2 nous permet de créer des entités, et des managers pour ces entités.
Si dans un de ces managers, vous avez besoin d'exécuter une requête SQL (à ne pas confondre avec une requête DQL), le retour sera sous la forme de tableau et non pas d'entités comme pour une requête DQL.

Pour hydrater automatiquement le retour de votre requête SQL, voici un exemple :
$rsmb = new ResultSetMappingBuilder($this->_em); // indique quelle entité devra être hydratée par les retours de la requête $rsmb->addRootEntityFromClassMetadata(Foo::class, 'foo'); // configuration du mapping pour une entitée liée // elle doit être faite, même si l'entitée liée n'est pas sélectionnée dans votre requête SQL // si vous ne le faites pas, le type de la clef étrangère ne sera pas connu par Doctrine, // qui la laissera en string, alors qu'elle devrait probablement être castée en int $rsmb->addJoinedEntityFromClassMetadata( Bar::class, 'bar', 'foo', 'Foo::$lienAvecBar', ['id' => 'bar_id'] ); // la requête à exécuter $query = $this->_em->createNativeQuery('SELECT * FROM table_foo foo', $rsmb); // $result contiendra un tableau d'entités Foo $result = $query->getResult();

Sources
devandco
ldaguise

samedi 9 août 2014

Passer de Symfony 2.4.x à 2.5.x

Passer de la branche 2.4.x à la branche 2.5.X de Symfony n'est pas si facile, à cause de nombreux bugs apportés par la migration.

Sensio est bien au courant de ce problème, et fait tout pour corriger la branche 2.5.x pour que la migration soit plus facile.

A cause de ces problèmes de migration, la maintenance de la branche 2.4.x continue jusqu'à septembre 2014, alors qu'elle aurait du s'arrêter fin juillet 2014.

Source : symfony.com

Symfony 2.5.3

Symfony 2.5.3 est sortie le 6 août avec presque 30 bugs corrigés, aucune rupture de compatibilité et aucune nouvelle feature.

Vous êtes fortement encouragés à updater votre Symfony, si vous êtes sur la branche 2.5.x.
La seule contrainte, à vérifier chez vous, serait un bug dans la validation des formulaires si vous avez une version de PHP inférieure à la 5.3.9 : issues/11580.

Télécharger Symfony