POO PHP5 : Standard Php Library (SPL)

Image non disponible


précédentsommairesuivant

I. Introduction

La plus grande amélioration que PHP5 a apporté à sa sortie a été un modèle objet complet, très semblable à celui de Java ou C#.
Mais les développeurs de PHP ont saisi cette occasion pour intégrer dans son coeur tout un ensemble de classes et d'interfaces (natives, écrites en C, donc).

Intégrées, plus ou moins : la SPL est en réalité une extension PHP, mais qui est très souvent (pour ne pas dire tout le temps) compilée dans PHP, quelle qu'en soit la distribution (Win, packages Linux...), ce qui donne l'impression de la nativité de ses fonctionnalités.
La SPL rend beaucoup de services, et de plus en plus d'extensions PHP en sont dépendantes. Ainsi, à partir de PHP5.3, il n'est plus possible de désactiver l'intégration de la SPL via la commande de compilation.

Outre une approche procédurale conservée, il est désormais possible avec PHP5 de développer des pages et des processus entièrement orientés objets. La SPL, ou Standard PHP Library, est un ensemble de classes/interfaces disponibles, prêtes à être utilisées ou implémentées (un peu à la manière de la StandardTemplateLibrary de C++).
Nous allons faire un petit tour de quelques puissantes fonctionnalités offertes par la SPL, et nous allons voir comment certaines fonctions natives du langage PHP peuvent être impactées.

La documentation principale de la SPL sur le site officiel de PHP est toujours en évolution et n'est pas exhaustive. Aussi, les changements de versions de PHP font grossir la SPL parfois même sensiblement (ce fût le cas pour le passage à PHP5.3 qui a rajouté une bonne dizaine de classes SPL).
Qu'importe, nous n'allons pas la détailler complètement, car si je compte le nombre de classes :

liste des classes de la SPL
Sélectionnez
<?php
var_dump(spl_classes());

Il m'en retourne 54 (à la date de cet article). Attention, il prend en compte les classes d'Exception, la SPL possédant ses propres Exceptions (nous y reviendrons).
De plus, cette fonction ne liste pas les interfaces, or elles demeurent importantes, listons-les :

La SPL est en développement permanent. Mettre à jour sa version de PHP est donc aussi gage d'un meilleur support SPL. Si certains frameworks nécéssitent une version de PHP précise comme configuration minimale, c'est en partie à cause du manque de certains objets dans certaines versions de PHP. PHP5.0 ne comptait que 13 classes dans la SPL!

liste des interfaces de la SPL
Sélectionnez

<?php
var_dump(get_declared_interfaces());

Une manière plus simple : le très connu phpinfo() renvoie aussi des informations sur la SPL actuellement compilée :

Image non disponible

précédentsommairesuivant

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

  

Copyright © 2008 . Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.