News PHP

le 28/06/2007 à 20:37
Les tests d'acceptance
Note de l'auteur :

Dans cet article, je vous présente le sujet des tests d'acceptation, (aussi appelé tests fonctionnels) : c'est un sujet que les développeurs PHP doivent commencer à mettre en pratique. Je suis sûr que vous êtes au courant des tests unitaires, et même des tests d'intégration : mais alors, quelle est cette 5eme roue du carrosse, qui déboule au milieu de la mode des Web 2.0 et AJAX ? En quoi diffère-t-elle des autres pratiques ?
Je vais vous expliquer tout cela.

Et je vais aussi vous montrer comment mettre en place des tests d'acceptance avec la combinaison mortelle de PHPUnit et Selenium.

- Acceptance Testing of Web Applications with PHP
L'appel à conférenciers pour le forum 2007 a été repoussé au 15 Juillet 2007, ce qui donne 15 jours de plus aux retardataires pour soumettre leurs sujets. C'est une bonne chose, car je n'ai pas encore envoyé mes propres sujets.

L'AFUP recherche les meilleurs intervenants francophones pour parler de PHP, des bases de données et des clients de dernière génération. Rasmus Lerdorf et Andrei Zmeivski feront partie du show, ainsi qu'un petit invité surprise...

- Appel à conférenciers forum PHP 2007
le 27/06/2007 à 20:11
Constructeur de requêtes SQL
MySQL Query Builder est un jeu de classes PHP 5 qui permettent de construire des requêtes MySQL correctes, avec PDO et les instructions SQL de préparation. C'est particulièrement utile si vous devez implémenter une couche d'abstraction de base de données, et que vous construisez dynamiquement vos requêtes.

Il existe aussi Babel MySQL, un projet destiné à convertir automatiquement des phrases humaines en requêtes SQL.

- mysql-query-builder
- Babel MySQL
- Dossier Babel MySQL
PHP fournit une manière de gérer les erreurs déclenchées via une fonction de callback.
Pour cela vous utilisez set_error_handler et set_exception_handler pour les classes d'erreur.

Il est nécessaire dans votre fonction de gestion d'erreur d'ajouter un petit traitement supplémentaire. L'opérateur @ implique en effet que error_reporting est mis à 0 le temps de l'appel à la fonction, mais votre fonction customisée est quand même appelée !

Voici une petite astuce qui permet de contrer ce soucis.

- Traitement d'erreurs personnalisé et @
- Coding Style
Raphael propose un truc pour transformer les fichiers de logs PHP en fichier RSS, à l'aide du Zend Framework. En les lisant avec un client RSS, vous pouvez même faire remonter plus facilement les erreurs qui apparaissent (j'imagine qu'un site qui produit beaucoup d'erreurs sera moins intéressé).
Autrement, le format XML du fil permet un traitement externe, automatisé.

Une idée détaillée avec le code pour réaliser le fil grâce au Zend Framework.

- Turning a Zend_Log log file into a RSS feed

PS : en ce qui concerne lephpfacile, le traitement d'erreur fonctionne ainsi : pour toutes les erreurs qui arrivent sur la home, un mail est envoyé, sinon, c'est logué en base de données (quand ce n'est pas la base de données qui est morte bien sur :p)
le 24/06/2007 à 17:18
Cache et patience
L'ajout d'un cache sur un site Web est un pas qui est difficile à faire : on perd alors cette capacité à voir apparaitre immédiatement une modification dans le contenu, que ces soit une correction, une nouvelle dépêche ou autre. Il y a donc un effort important à faire, d'un point de vue utilisateur.

Du point de vue programmeur, il y a plusieurs stratégies qui s'imposent :
- Les délais d'expiration
- Les mises à jour à la demande
- Le cache roulant

Le cache roulant est surement la solution architecturale la plus intelligente, et aussi la moins connue.

- Caching and patience
le 23/06/2007 à 20:41
Refactorisation des boucles
En lisant son code, on arrive souvent devant l'impression qu'on pourrait factoriser certaines parties : la redondance dans le code est évidente. Toutefois, en se penchant un peu plus près. on s'aperçoit que des modifications sont apparues entre les branches des boucles, et sont suffisamment différentes pour être incompatibles.

vaultedceiling vous propose son approche pour réaliser l'abstraction des boucles, tout en PHP 5 et SPL.

- Refactoring loops
- Fonctions Standard PHP Library (SPL)
Nick Halstead lance un concours de programmation PHP, où vous pourrez gagner un studio Zend. Il s'agit de réaliser un jeu de mots populaire, où on passe d'un mot à un autre en changeant une seule lettre à chaque fois, et en formant des mots qui existent à chaque modification. par exemple (en anglais) :

- Hand
- Band change H à B
- Bond change A à O
- Fond change B à F
- Food change N à O
- Foot change D à T

Le concours est soumis à un jury d'expert (Cal Evans, Douglas Karr et Stuart Dallas), sur PHP 4 et PHP 5 (au choix).

- PHP Programming Contest - Win Zend Studio
le 22/06/2007 à 20:04
Les références circulaires en PHP
Derick Rethans explique :

Les références circulaires ont été longtemps un problème en PHP. Elles sont liées au fait que PHP utilise un mécanisme d'allocation de mémoire à compteur de référence pour ses variables internes.Cela conduit à des problèmes pour les scripts qui s'exécutent longuement, comme un serveur d'applications ou la suite de tests eZ Components.

Mais tout le monde n'est pas au courant du fonctionnement des références circulaires, alors voici comment cela se passe.

- Circular References
- Les références
LoadingChargement en cours