HTML5 Polar Clock

polarclock

Un article bref aujourd’hui pour vous présenter une “Polar Clock” faites en javascript et html5. C’est un petit dev que je me suis amusé à faire pendant du temps libre. Bien évidemment c’est grandement inspiré de celle de PixelBreaker.

Je vais pas revenir sur le code, j’ai fait ça à la va-vite et c’est un petit peu vieux. J’espère juste que cela pourra servir à quelqu’un.

Pour voir à quoi cela ressemble en live : Démo

Le code est accessible dans la source de la démo ou ici : https://github.com/Golbut/html5PolarClock

Vous pouvez en faire ce que vous voulez, le mieux serait de l’améliorer biensur :)

Vues récursives avec Zend Framework 2

Si vous devez afficher un arbre dont vous ne connaissez pas la profondeur, vous pouvez utilisez les vues de façon récursive avec Zend Framework 2.

On va prendre ici l’exemple typique d’un menu, avec des données formatées plus ou moins comme ceci.

Pour afficher cet arbre on va utiliser les partial views de ZF2.
On créé dans un premier temps une vue parente get-menu.phtml

Ensuite on va créer la vue qui va être récursive get-menu-element.phtml

Pour finir, et afficher notre menu il suffit d’appeler le partial parent où on le souhaite.

Le tour est joué, l’arbre s’affiche entièrement sans besoin de connaitre sa profondeur avec seulement deux petites vues partielles.

Bon codage !

Traits utiles pour Zend Framework 2

Si vous utilisez Zend Framework 2 et PHP 5.4+, alors vous pouvez utiliser les traits, qui peuvent s’avérer très utiles dans certains cas.

Voici 3 exemples:

1 – Pour injecter le ServiceManager dans des classes de type service

Ce trait peut être utilisé de la façon suivante pour dans une classe service, cela permet d’éviter de copito/collito  ces 2 fonctions qui sont utilisées très souvent dans le ZF2

2 – Pour récupérer les ViewHelpers dans nos Controllers

On peut l’utiliser comme ceci, ce qui permet d’éviter la répétition de code et les ->get() à rallonge dans nos Controllers qui deviennent pour le coup plus lisibles.

 3 – Simplement pour des fonctions utiles

Par exemple une fonction qui permet de faire un force download dans un Controller

Cette fonction a peu de chance de changer, il est donc utile de la mettre dans un Trait surtout s’il elle doit être utilisée dans plusieurs Controllers. Un autre avantage si jamais la fonction doit être modifiée, cela ce fait à un seul endroit. Enfin le dernier avantage des Traits, c’est que cela évite de devoir faire de l’héritage pour quelques fonctions simples sachant que PHP ne gère pas l’héritage multiple.

Zend 2 possède déjà des Traits (même si la compatibilité est pour l’instant 5.3+), qui peuvent être utilisés. Il suffit d’un petit find “trait” sur la library, pour voir à quoi ils ressemblent et s’il peuvent être utiles dans vos applications.

De plus si vous avez aussi créé des traits dans vos applications ZF2, vous pouvez contribuer sur ce Github : https://github.com/Golbut/zf2Traits, si il y a assez de contenu on pourra peut être en faire un module.

Bon codage !

Sources :
http://hounddog.github.io/blog/using-traits-in-zend-framework-2/
http://php.net/manual/fr/language.oop5.traits.php