News PHP

PHP dispose de méthodes magiques. Absentes, elles forcent PHP à utiliser un comportement par défaut. Présente, elles permettent de personnaliser un comportement. Et avec la venue de PHP 5, elles sont nombreuses. Les connaissez-vous toutes ?

__construct(), __destruct(), __set(), __get(), __call(), __toString(), __sleep(), __wakeup(), __isset(), __unset(), __autoload(), __clone()

- Exploring Magic Methods in PHP 5
Pour générer un nombre aléatoire, il y a la fonction rand() de PHP. Pour créer une date aléatoire, vous pouvez créer directement un timestamp : cela vous donnera des dates dans l'époque Unix, à partir du 1er janvier 1970. Ou bien ajouter un nombre de secondes aléatoire à partir d'une date arbitraire, pour obtenir des valeurs plus concentrées autour d'une date particulière.

- How to Create a Random Date in PHP
Lors de la réalisation d'un projet en PHP, il est possible de repérer les developpeurs PHP qui sont dit "parresseux". Reinhold Weber dresse sur son blog une liste de 40 signes permettant d'effectuer rapidement un repérage du code.

Son étude correspond à une approche totalement subjective de sa part et se trouve très orienté vers Eclipse.

Mais certains points de ces 40 signes, peuvent être appliquer sur l'ensemble des projets PHP. Voici quelques signes importants :
- Absence de méthodologie cohérente
- Absence de normes de codage, de nomage et les conventions générales
- Ne pas utiliser un débogueur
- Aucune optimisation des requêtes sql
- Aucune liste de gestion intelligente des erreurs
- Ne pas utiliser les expressions régulières
- Ne pas comprendre les avantages et les limites de la programmation orientée objets
- Ne pas avoir un seul et unique fichier de configuration
- Absense d'optimisation de votre conception de l’application en fonction des patterns
- Polluer l'espace de nommage global, une option est à préfixer les fonctions dans votre bibliothèque avec un string

- 40 signs you really are a lousy PHP programmer
Tous les utilisateurs veulent la compatibilité ascendante, pour ne pas avoir à faire de modification entre deux versions. Ils seront unanimes sur le sujet. Mais l'évolution d'une API reste un problème d'anticipation crucial pour les développeurs : on ne peut ni le prévoir ni le gérer.

Boy Baukema a rassemblé les 6 stratégies de compatibilité ascendante pour un projet, et vous y retrouverez sûrement le votre. N'oubliez jamais que la compatibilité n'est jamais qu'une hypothèque sur l'avenir.

- Concevoir très bien son API
- Incuber
- Obsolescence
- Versions
- Mises à jour
- Recommencer

Chaque approche peut être vue comme une solution de remplacement de la précédente : au début, on conçoit l'API suffisamment. Puis, quand elle n'est plus assez souple pour continuer, on la remplace par une version 2, jusqu'à ce que les modifications soient tellement grandes... qu'on reprend tout à zéro.

- Backward compatibility, bane of the developer
Note de l'auteur :

Sebastian Bergmann publie un atelier de performances portant sur les versions 3.0.18, 4.3.11, 4.4.7, 5.0.5, 5.1.6, 5.2.5, 5.3.0-dev.

L'outil de mesure est le script Zend/bench.php, et l'ensemble des données est présenté dans un magnifique graphique eZ components : ce dernier est un peu difficile à lire, mais on voit clairement les performances particulières de chaque opération s'améliorer au fur et à mesure que PHP croît en version.

Cela rejoint le test PHP 6 que j'ai mené la semaine dernière.

- Benchmark of PHP Branches 3.0 through 5.3-CVS
- PHP 6 : ca marche et ca va vite !
le 07/02/2008 à 20:34
Roadmap 2008 pour les eZ components
Derick Rethans publie la nouvelle roadmap des eZ components pour 2008.

Au programme :
- Document : conversions entre différents formats, en se concentrant sur le nouvel éditeur OE et eZ Publish 4 au début.
- ExtendedReflection : couche de base pour l'analyse du code source, pour construire un framework de génération de services Web (contribution externe).
- Feed : manipulations de RSS/ATOM
- Recherche : indexation et requêtes avec Solr et d'autres moteurs de recherche

- eZ Components 2008.1 roadmap
- ez Components Roadmap 2008
- ez Components site
- ez Components Release 2007-12-17
Les objets travaillent mieux quand ils sont associés : cette approche impose alors que deux objets se rencontrent pour réaliser une tâche et cette contrainte s'appelle une dépendance. Un objet dépend d'un autre. Lequel va créer l'autre et comment les faire se rencontrer ?

Il y a le constructeur et les accesseurs pour réaliser les premières compositions d'objets, et il existe aussi l'injection de dépendance : on passe par un objet intermédiaire, qui prend en charge la création des objets, et éventuellement, leur remplacement par une version de simulation. Pádraic Brady vous montre comment cela marche dans le Zend Framework.

- The Zend Framework, Dependency Injection and Zend_Di
le 07/02/2008 à 20:30
Conférences Zend Framework
Les étudiants de la licence Professionnelle WebDeveloppeur de l'INSSET à Saint-Quentin (Picardie) organisent une journée conférences sur Zend Framework le jeudi 21 fevrier 2008.

La journée se décomposera en 2 :
- Le matin avec une présentation de l'AFUP et de PHP, du Zend Framework, du projet Inist-CNRS et une comparaison des différents Frameworks
- L'apres midi sous la forme de Tutoriaux

- Site officiel de l'évènement
le 06/02/2008 à 23:49
Les elephpants sur Facebook
Note de l'auteur :

Il semble que je vais finalement devoir ouvrir un compte facebook : les éléphpants ont leur groupe maintenant sur facebook !

Il y a aussi un groupe sur flickr.

Rien encore dans les videos, mais je n'ai pas encore posté ma création du salon linux... wait and see.

- Groupe elephpant facebook
- Groupe elephpants Flickr
- Boutique elephpants
Il y a des chances que vous tombiez directement sur un hébergeur en PHP 4 par défaut, de nos jours. Malgré la poussée forte de PHP 5, les hébergeurs sont réticents à faire le saut : beaucoup de code n'est compatible qu'avec PHP 4, et ne supporte pas PHP 5.

La meilleure solution est encore de préparer les deux configurations, et de laisser les utilisateurs décider de leur migration via une interface d'administration.

- PHP Web Hosts: The Version Dilemma
LoadingChargement en cours