Au coeur de Zend Framework 2

Vincent Blanchon est un collègue de travail. Nous avons eu l’occasion à plusieurs reprises de papoter Zend Framework 2. C’est donc tout naturellement quand il m’a parlé de son projet de livre il y a quelques mois que je lui ai proposé d’en faire la relecture.
Et quelques semaines plus tard, j’avais le privilège d’être l’heureux détenteur de la première maquette du livre.
Je me suis donc attelé à la relecture. Pour l’essentiel il s’agissait de correction de coquilles, car pour ce qui est de la technique Vincent en connait sans doute bien plus que moi sur les entrailles du ZF2 pour avoir contribué au code source. Vous êtes donc entre de bonnes mains.

Ainsi si vous souhaitez bien commencer avec le ZF2, hormis la doc officielle et le tutoriel de Rob Allen, je vous recommande plus que chaudement la lecture du livre de Vincent.

Vous pourrez le trouver sur le site dédié : http://au-coeur-de-zend-framework-2.fr/

Bonne lecture et bon ZFProgramming :)

Zend_Translate, gettext et les pluriels

Zend_Translate gère les pluriels, mais la documentation officielle donne peu de détails sur la manière de procéder avec l'adaptateur gettext.

en lire plus

Passez à try_files

Pour rediriger les requêtes qui pointent sur un fichier ou un répertoire qui n'existe pas vers /index.php, avec Nginx et Zend Framework on utilise traditionnellement :

if (!-e $request_filename){
  rewrite ^.*$ /index.php break;
}

Mais ce n'est pas optimal car il est recommandé d'éviter if.

en lire plus

Zend_Test : expressions assertQuery

Zend_Test fournit une série de méthodes commençant par assertQuery qui permettent d'examiner le DOM de la réponse. La syntaxe des requêtes est identique à celle utilisée pour les sélecteurs CSS. Voici quelques exemples d'utilisation.

en lire plus

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



Auteur : © Greg pour LyRiXx Blog.
Article publié le : 23-02-2012, dans : Web Dev. Liens direct vers l'article (permalink)
Mot Clé : , , , ,

Feed enhanced by Better Feed from Ozh

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 ;).



Auteur : © Greg pour LyRiXx Blog.
Article publié le : 01-02-2012, dans : Web Dev. Liens direct vers l'article (permalink)
Mot Clé :

Feed enhanced by Better Feed from Ozh

Le Zend Framework 2 s’étoffe et met en place un market place pour ses modules

Via Scoop.itLa veille du WebDeveloper
Un market place pour les modules Zend Framework
Le Zend Framework 2 prend la même route que Symfony en mettant en place un market place (http://modules.zendframework.com/) pour proposer à la communauté un point central pour récupérer tous les modules nécessaires à votre projet.

Pour le moment, le market place comme le Zend Framework 2 d’ailleurs sont en phase Béta et ne sont donc pas à utiliser en production.

L’initiative est intéressante et prouve que le Zend Framework n’est pas mort et s’apprête à rentrer dans l’arène pour se mesure à Symfony 2.   Ce sera sans doute un combat intéressant à suivre en 2012 !

Création de nouveau formulaire facilement avec Zend Form Maker

La création de formulaire avec zend framework peut être facilitée grâce à un petit développement : Zend Form Maker. Projet disponible sur github. À la base créer pour des besoins scolaires, sarlak a eu la bonne idée de rendre le dev open source sous licence GPL 3.0.

Le but du logiciel est de permettre via une interface très simple d’accès, de créer des formulaires et ensuite de forger une classe PHP, basé sur zend framework afin d’obtenir un formulaire tout frais moulu. Ultra pratique, et ultra simple, et surtout cela fait gagner un temps de dingue!

Pour l’installer, il vous faut de quoi faire fonctionner zend framework (celui-ci doit être installé). Sous Unix cela donnera ceci :

git clone https://github.com/sarlak/Zend-Form-Maker.git
ln -s pathToYourZFLibrary
chmod 0777 Zend-Form-Maker/public/resources/xml
chmod 0777 Zend-Form-Maker/public/resources/form_made

Bien entendu, à peu de choses près ceci est adaptable sous MS-Windows

Pour créer votre premier formulaire, il vous suffit de vous rendre sur l’URL adéquate, aller sur « form list » et « Bazinga! ». Une démo existe en ligne!

Une petite capture d’écran :

À noter que j’ai corrigé un ou deux petits trucs qui me dérangeaient, il y a un bout de temps.

Share

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.



Auteur : © Greg pour LyRiXx Blog.
Article publié le : 24-10-2011, dans : Silex. Liens direct vers l'article (permalink)
Mot Clé : , ,

Feed enhanced by Better Feed from Ozh

Le nouveau site de l’agence web Itanea est prêt pour la rentrée, venez découvrir nos offres

Voilà, la rentrée est déjà là et le nouveau site d’itanea également. Venez le découvrir, ainsi que nos offres et réalisations. Nous sommes à votre disposition pour tout vos projets de site internet :

  • blog
  • site vitrine
  • site institutionnel
  • ecommerce
  • crm
  • erp
  • forums

Bonne rentrée à toutes et à tous !