Charger automatiquement vos classes avec __autoload

Pour garder une bonne organisation de ses classes, il est pratique de n’avoir qu’une seule classe par fichier. Le problème de ce genre d’organisation est qu’il faut souvent inclure de nombreux fichiers dans ses scripts. Encore pire, l’utilisation de include_once() et require_once() devient souvent obligatoire afin d’éviter les inclusions multiples. Ces deux fonctionnalités sont hélas très mauvaises pour les performances (surtout, mais pas que, si on utilise un système de cache d’opcode comme APC).

Heureusement, depuis la version 5 de PHP on peut définir une fonction magique nommée __autoload et qui se chargera de charger automatiquement les fichiers contenant les classes à la volée.

Continue reading →

Gérer la connexion à la base de données avec le patron de conception Singleton

En programmation orientée objet, le motif Singleton permet d’être sûr qu’une classe ne sera instanciée qu’une seule fois. À chaque fois que l’on fera appel à cette classe, nous récupérerons l’unique instance de cette dernière.

Dans le cadre d’une connexion à la base de données, ce motif est très pratique, car nous sommes certains de récupérer la connexion courante et de ne pas en créer une à chaque fois.

Continue reading →

Quelle extension choisir entre mysql, mysqli et PDO ?

PHP dispose de 3 API permettant de communiquer avec MySQL : l’historique mysql (PHP 4.x et moins), mysqli (PHP 5.x) et PDO (PHP 5.x).

Quels sont les avantages et les inconvénients de chacune d’elle et laquelle doit-on utiliser dans ses scripts ?

Continue reading →

Comment utiliser le codage UTF-8 avec PHP et MySQL

Le codage UTF-8 est, depuis quelques années, le plus utilisé dans le monde des applications Web.

Bien que simple à utiliser, il pose souvent problème aux débutants. Nous allons donc voir comment l’utiliser pour la réalisation d’un site Web.
Continue reading →

Tester la validité d’une date en JavaScript et PHP

Généralement, on utilise une expression rationnelle pour vérifier que la syntaxe d’une date corresponde bien au résultat que l’on attend.

Mais il faut aussi tester que la date soit valide : le mois ne doit pas dépasser 12, le jour ne doit pas dépasser le nombre de jours du mois, etc.

Continue reading →