News PHP

Note de l'auteur :

Richard Heyes publie 7 expressions rationnelles, qui sont utilisées très classiquement dans une application Web, pour valider différentes informations : email, date, numéro de telephone, code postal, etc. Pour ce dernier, c'est la version anglaise (comme dans Royaume-Uni), qui est proposée.

Quand je tombe sur ces listes de validateurs, je me prend toujours à réver d'une extension du HTML : ne pourrait-on pas avoir des attributs étendus, comme 'phone','date','email', en plus des 'text' et 'checkbox' actuel, qui se transformeraient en un ou plusieurs champs HTML équivalents, avec une validation Javascript optionnelle, puis, à l'arrivée dans PHP, seraient validés par un filtre coté serveur, et livré tout prêt dans $_POST ?

On pourrait alors avoir des listes de regex comme ci-dessus, avec des tests unitaires complets.

- Some common regular expressions
le 20/05/2008 à 23:30
Ca bouge chez Zend
Zend Technologies vient de licencier 10 personnes de son service de R&D. TechCrunch, qui rapporte le fait, estime que c'est dans un objectif de vente de la compagnie que ce licenciement aurait lieu : il permet en effet de remettre les comptes à flot.

Oracle, Microsoft et IBM seraient possiblement intéressés. En 2006, Oracle aurait émis une offre entre 100 et 200 millions, sans prise d'effet. Le rachat de MySQL par Sun, en début d'année, va surement peser dans la situation, aussi bien au niveau des prix que de la valeur stratégique de Zend.

A suivre...

- Scoop: Job Cuts at PHP Startup Zend Could Be Aimed With An Eye Towards a Sale
le 20/05/2008 à 23:28
Introduction à phpWiki
Note de l'auteur :

Ce mois-ci, il est temps de jeter un oeil sur ces applications PHP que je trouve si utiles quotidiennement. J'ai utiliser les "wiki" pour la documentation de nombreux projets. La plupart d'entre vous sont familiers avec le terme wiki, qui provient de la langue hawaïenne, et qui signifie 'rapide' (wikiwiki). Il y a de nombreux wiki publiés, incluant mediawiki (qui est la base de Wikipedia), PmWiki et DokuWiki.
Dans cet article, nous allons étudier PhpWiki, et nous verrons comment le configurer et l'utiliser pour vos propres projets.

- phpwiki - The Wiki for PHP Developers
- phpWIki
le 18/05/2008 à 23:34
Livre blanc sur 4 frameworks PHP
"Fruit dune étude de longue haleine, ce livre blanc aborde les différents aspects du choix d'un framework : problématiques fonctionnelles, techniques et stratégiques, avec notamment une analyse approfondie des questions d'extensibilité, de documentation et de sécurité. Quatre frameworks en vogue sont présentés en détail (CakePHP, CodeIgniter, Symfony, et le Zend Framework"

Xavier Lacot, Tristan Rivoallan ainsi que Emmanuelle Gouleau, Vincent Lemaire et Olivier Mansour [NDJ : merci aux commentaires ] se sont penchés sur 4 frameworks PHP, et ont produit une étude très détaillée de ces projets et de leur utilisation en entreprise. Une excellente lecture.

- frameworks PHP pour l'entreprise : quelques critères de choix
- livre blanc : frameworks PHP pour l'entreprise
AFUP (Association Française des Utilisateurs de PHP) lance son premier BarCamp exclusivement orienté autour de PHP. Ce Rendez-vous se déroulera le 7 juin 2008 sur Paris.

Ce rendez-vous de décomposera de "PhpCamp & TestFest" et sera une occasion rêvée de participer activement au développement du langage lui-même (à travers la TestFest), de présenter des sujets qui vous tiennent à coeur et de participer à des nombreux échanges.

- Communiqué AFUP : PhpCamp & TestFest
le 15/05/2008 à 21:49
Growl et PHP (et des doublons MySQL)
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
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
le 14/05/2008 à 22:04
Limites des requêtes SQL préparées
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
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
le 09/05/2008 à 23:02
SearchMonkey arrive
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
LoadingChargement en cours