News PHP

le 26/09/2007 à 20:31
Alias de fonctions en PHP
PHP dispose d'un système d'alias pour ses fonctions : ils permettent de donner plusieurs noms à une même fonctionnalité, mais c'est toujours le même code qui fait le travail sous-jaçent. C'est pratique pour assurer la compatibilité ascendante (wddx_deserialize et wddx_unserialize) , ou pour donner des noms de fonctions qui seront faciles à retenir pour tous (sqlite_has_more et sqlite_valid).

Comme ce n'est pas évident qu'une fonction PHP est un alias d'une autre, il reste des cas où les programmeurs mégotent les avantages respectifs de join et implode, et tentent de les départager. Pour ces futures discussions stériles, vous pouvez vous reporter à la liste d'alias de Sean Coates.

- On PHP Function Aliases
- Function Alias List in PHP
- Lampooning Benchmarks
- Better Benchmarks
le 26/09/2007 à 20:28
L'elephpant est dans le Pacifique
Les éléphpants sont finis ! Ils sont maintenant partis de leur pouponnière de Shanghaï, et traversent actuellement l'Océan Pacifique. La date d'arrivée chez Nexen est autour du 20 Octobre, ce qui me laisse du temps pour dégager 6 mètres cube d'espace de rangement, développer mes muscles pour déplacer 300 kg de peluches (record du monde?), et trouver un stationnement pour un semi-remorques (les éléphants ne se déplacent pas en limousine, mais en semi-remorque 18 roues).

Pour les prises de commandes, vous aurez quelques options : me rencontrer à une conférence, comme celle de Washington (USA), ou bien celle de l'AFUP (Paris); rencontrer votre groupe d'utilisateur local (comme l'AFUP, par exemple), ou bien prendre commande sur le site de nexen.net. Pour cette dernière solution, je vous tiens au courant dès que j'ai du nouveau.

- Photos des éléphants
- DC PHP Conference
- Forum afup 2007
le 25/09/2007 à 20:49
Créer des archives zip à la volée
Note de l'auteur :

Pour un projet futur, j'ai besoin d'utiliser zip ou gzip pour créer des archives à partir de fichiers ou de dossiers, dans un autre dossier.
Une recherche rapide sur Google m'a conduit à la classe Create ZIP File de Rochak Chauhan.

Je l'ai testé avec deux autres scripts, et je dois avouer que cette classe fonctionne le mieux quand vous ajoutez les fichiers un par un.

- Tutorial: Create a zip file from folders on the fly
- Create ZIP File

PS de LA GLOBULE :

Pour des petites archives simples, la librairie utilisée par PHPMyAdmin fonctionne également extrêmement bien (la librairie est disponible dans un .php dans l'archive de PHPMyAdmin)
le 25/09/2007 à 20:43
Migrer de Wordpress vers CakePHP
Note de l'auteur :

Dans cet article, je vais simplement exposer du code pour vous montrer comment je gère le processus de migration, afin de vous montrer mon approche, ce qui marche et ce qui ne marche pas, tout en espérant que certains d'entre vous viennent partager leurs connaissances et expériences de migration.

- Migrating from WordPress to CakePHP
- CakePHP
- Wordpress
Gopal Vijayaraghavan explique en détails les problèmes qui se posent avec les caches dynamiques (comme APC), et les inclusions conditionnelles.

Lorsque différents fichiers inclus portent le même nom, PHP sait le résoudre juste à temps, mais les caches d'opcode ne savent pas faire la différence, et reprennent le dernier (ou premier), qu'ils ont déjà compilé. Ce qui peut conduire à des casse-tête pour comprendre pourquoi cela marche à un moment, et pas à la page d'après.

- APC Autofilter: The Real Story
Brian Deshong propose une approche plus efficace pour afficher les utilisateurs en ligne : au lieu de compter sur une base de données, et rafraichir en permanence une liste d'utilisateurs, pourquoi ne pas passer par memcached, et mettre à jour les informations avec un processus en tâche de fond.

Une question revient souvent : à quelle fréquence les données doivent elles être rafraichît. Souvent, un petit délai de quelques secondes peut soulager grandement votre architecture, sans qu'elle remette en cause les fonctionnalités.

- memcached
Quand un script atteint une durée d'exécution trop grande, il faut l'accélérer. Pour cela, deux options : soit on micro-optimise le site, avec des remplacements tels que ceux listés ci-dessous. Ou bien vous réécrivez l'algorithme du script, pour gagner en exécution.

1. sizeof vs count
2. is_int vs is_integer
3. chop vs rtrim
4. doubleval vs floatval
5. fwrite vs fputs
6. implode vs join
7. ini_alter vs ini_set

Et pour ceux qui ne comprendrons pas le pince-sans-rire de l'article, vous pouvez enchaîner sur le suivant, où Jonathan Street en dit plus sur l'intérêt de ces ateliers de performances.

- 7 tips for lightning fast PHP sites
- Better Benchmarks
le 23/09/2007 à 20:23
7 raisons pour revenir à PHP
Note de l'auteur :

J'ai passé 2 ans à essayer de forcer Rails à faire quelque chose qu'il n'était pas capable de faire. Puis, j'ai réalisé que mon vieux langage délaissé (dans mon cas, PHP), aurait été bien plus capable si je le reprenais, avec mes nouvelles connaissances Rails.

Le retour d'un programmeur qui avait abandonné PHP pour Rails, et qui revient à PHP.
Lecture fort instructive.

- 7 reasons I switched back to PHP after 2 years on Rails
le 21/09/2007 à 20:16
Les cas tordus de la comparaison PHP
PHP est faiblement typé, et les comparaisons se font généralement intuitivement. Mais il reste quelques situations où il n'est pas facile de comprendre comment ce qui est comparé va être mesuré.
Comment PHP compare un tableau et un objet, ou même deux objets entre eux ?

Julien Pauli vient de réfléchir longtemps et fort sur cet aspect de PHP, et il vous livre un florilège de cas spéciaux.

Accrochez-vous à vos idées reçues !

- Transtypage et comparaison en PHP
LoadingChargement en cours