Les news php
Jeudi 15 mai 2008
Tyler Hall, puis sitecrafting, ont écrit une classe qui s'interface avec Growl, le système d'alerte universel d'OSX. Growl fait apparaître un message discret et rapide sur le bureau du mac, et permet ainsi de diffuser des informations sans obstruction. Cette fonctionnalité est aussi ouverte au réseau : un autre serveur peut envoyer une alerte à une machine de bureau. C'est ce que PHP-Growl utilise pour envoyer ses messages.Et sur le site de sitecraft, retrouver un article sur la chasse aux doublons dans MySQL.
- Make PHP Growl
- Dumping Duplicates
- PHP Growl
- Growl
Jeudi 15 mai 2008
Apprenez à construire des services Web avec PHP, en utilisant les outils PHP Development Tools de Eclipse Europa. Familiarisez vous avec le projet PDT, et apprenez à créer et déployer des projets PHP utiles, apprenez la philosophie de développement du 'contrat en premier', et assimilez les bases d'un fichier Web Services Description Language (WSDL).Un tutoriel IBM.
- Build Web services with PHP in Eclipse
- Eclipse
- PDT download
- Eclipse Web Tool Platform
Mercredi 14 mai 2008
Les requêtes SQL préparées, aussi appelées commandes préparées, sont la panacée actuelle contre les injections SQL. Mais elles viennent avec un coût de performance assez important, un allongement du code PHP, et aussi, moins d'optimisation d'exécution. En effet, le plan d'exécution de la requête est calculé avant que les données ne soient connues, et cela empêche l'optimisateur d'utiliser certains index. Lukas Smith propose alors de passer à l'émulation de commandes préparées, via PDO, pour avoir un système qui sépare l'exécution de l'analyse, mais en laissant la base de données traiter des requêtes complètes.
- Prepared statements gotcha
- Prepared statement gotchas
Lundi 12 mai 2008
L'option -a de PHP-CLI (en ligne de commande), active le mode interactif de PHP. C'est un mode où les instructions seront exécutées au fur et à mesure que vous les tapez. $ php -a
Interactive mode enabled
html
<?php
html
echo phpversion();
5.2.6 ?>
Notez que c'est difficile à comprendre sur l'exemple ci-dessus : PHP commence par produire les deux premières lignes. Puis, j'ai tapé html, qui est affiché une deuxième fois plus bas, quand PHP décide d'exécuter le code HTML initial. En effet, le mode interactif se comporte comme PHP, et affiche directement le texte qui n'est pas dans une balise.
Ensuite, je met des commandes complètes (ici, PHPversion()), qui est affichée immédiatement après. Au final, je ferme la balise.
Ce mode est pratique si vous voulez tester une fonction ou un bout de code PHP. En en discutant avec Chris Hartjes (si vous avez l'occasion, allez le voir en conférence), ce mode est très pratique pour mettre en place les tests unitaires : il l'a fait pour cakePHP.
Imaginez, vous avez programmé une fonction (ou une classe, ou une bibliothèque, etc). Pour la vérifier, vous l'exécutez avec le mode interactif, et vous vérifiez manuellement que tout se passe bien. Par exemple, avec une fonction qui teste si un nombre est premier (retourne 0 si oui, et un facteur sinon), on pourrait avoir ceci :
<?php
include('prime.php');
print is_prime(4);
4
print is_prime(7);
0
print is_prime(13);
0
print is_prime(49);
0
?>
Je viens de tester 4 valeurs, et j'ai identifié un bug (49). Idéalement, je vais retourner dans mon code, le corriger. Mais cette liste de tests manuels pourrait (devrait) être gardée pour être rejouée la prochaine fois ! Pourquoi ne pourrait-elle pas être enregistrée, pour que je gagne du temps plus tard? Et pour être publié avec mon code, dans un format plus standard (phpunit, simpletest) ? On aurait ainsi une méthode simple pour capter des tests unitaires, et capitaliser sur cette masse immense de tests manuels, qui sont perdus après chaque exécution.
- Testing PHP with the interactive shell
- Screencast: Interactive Console for CakePHP
Vendredi 9 mai 2008
Search Monkey est le dernier service que lance Yahoo! sur le Web. C'est un outil à plusieurs facettes : le premier est qu'il donne aux développeurs la possibilité de personnaliser la présentation des résultats de recherche. La deuxième est qu'il utilise les micro-formats, pour chercher des informations complémentaires et utiles à la recherche. Rasmus montre l'exemple avec des restaurants, où sont affichés l'adresse, mais aussi des liens de réservation.Le dernier point est que SearchMonkey s'écrit en PHP.
- SearchMonkey
- Search Monkey preview
- Search Monkey Business
- The (lowercase) semantic web goes mainstream
Remonter 

Lire la suite