SPL Flashcards
La classe SplDoublyLinkedList
La classe SplDoublyLinkedList fournit l’interface principale pour les listes doublement chaînées.
La classe SplStack
La classe SplStack fournit l’interface de base pour implémenter une pile, basée sur une liste doublement chaînée.
La classe SplQueue
La classe SplQueue fournit l’interface d’implémentation d’une queue, basée sur une liste doublement chaînée.
La classe SplHeap
La classe SplHeap fournit l’interface pour un tas.
La classe SplMaxHeap
La classe SplMaxHeap fournit l’interface pour un tas, et conserve le maximum sur le haut.
La classe SplMinHeap
La classe SplMinHeap fournit une interface pour un tas, qui conserve le minimum sur le haut
La classe SplPriorityQueue
La classe SplPriorityQueue fournit les fonctionnalités d’une queue à priorités, implémentées avec une pile maximale
La classe SplFixedArray
La classe SplFixedArray fournit les fonctionnalités principales d’un tableau. La différence majeure entre un objet SplFixedArray et un tableau standard de PHP est que SplFixedArray est de taille fixe, et n’utilise que des entier dans ses index. L’avantage est alors qu’il est plus rapide que les tableaux.
La classe SplObjectStorage
La classe SplObjectStorage fournit une carte d’objets ou de données, ou encore, en ignorant les index, un ensemble d’objets. Ce double objectif est utile dans de nombreuses situations, où il faut identifier de manière unique des objets.
La classe AppendIterator
Un itérateur qui itère sur plusieurs itérateurs les uns après les autres.
La classe ArrayIterator
Cet itérateur permet de réinitialiser et de modifier les valeurs et les clés lors de l’itération de tableaux et d’objets.
Lorsque vous voulez passer en revue le même tableau plusieurs fois, vous devez instancier ArrayObject et le laisser créer les objets ArrayIterator qui s’y réfèrent, soit en utilisant l’instruction foreach, soit en appelant la méthode getIterator()() manuellement.
La classe CachingIterator
Cet objet supporte les itérations en cache sur un autre itérateur.
La classe CallbackFilterIterator
…
La classe DirectoryIterator
La classe DirectoryIterator fournit une interface simple pour lire le contenu d’un système de fichiers.
La classe EmptyIterator
La classe EmptyIterator crée un objet itérateur vide.
La classe FilesystemIterator
L’itérateur FilesystemIterator.
La classe FilterIterator
Cet itérateur abstrait filtre les valeurs indésirables. Cette classe doit être étendue pour implémenter des opérateurs personnalisés. La méthode FilterIterator::accept() doit être implémentée dans la sous-classe.
La classe GlobIterator
Passe en revue un système de fichiers, de manière similaire à la fonction glob().
La classe InfiniteIterator
La classe InfiniteIterator permet l’itération infinie sur un itérateur sans avoir besoin de remettre à zéro manuellement dès que la fin est atteinte.
La classe IteratorIterator
Cet itérateur permet la conversion de n’importe quel objet Traversable en un itérateur. Il est important de comprendre que la plupart des classes qui n’implémentent pas l’interface Iterator, ne le font pas car elles ne disposent pas de toutes les méthodes des itérateurs. Si c’est le cas, des mécanismes doivent être mis en place pour l’éviter, car autrement, cela produirait des exceptions ou des erreurs fatales.
La classe LimitIterator
La classe LimitIterator permet d’itérer sur une partie limitée d’entités depuis un Iterator.
La classe MultipleIterator
Un intérateur qui itère séquentiellement sur plusieurs itérateurs.
La classe NoRewindIterator
Un itérateur qui ne peut pas être remis à zéro.
La classe ParentIterator
Ce sous-type de FilterIterator permet la récursivité au moyen de RecursiveIteratorIterator et il ne montre alors que les éléments ayant des enfants.
La classe RecursiveArrayIterator
Cet itérateur permet la suppression et la modification de valeurs et clés durant l’itération sur des tableaux et des objets, de la même façon que ArrayIterator. De plus, il est possible d’itérer sur l’élément courant.
La classe RecursiveCachingIterator
…
La classe RecursiveCallbackFilterIterator
…
La classe RecursiveDirectoryIterator
La classe RecursiveDirectoryIterator fournit un moyen d’itérer récursivement sur des dossiers d’un système de fichiers.
La classe RecursiveFilterIterator
Cet itérateur abstrait filtre les valeurs non souhaitée d’un RecursiveIterator. Cette classe devrait être étendue afin d’implémenter des filtres personnalisés. La méthode RecursiveFilterIterator::accept() est abstraite, et doit être implémentée dans la classe étendant RecursiveIterator.
La classe RecursiveIteratorIterator
Peut être utilisé pour itérer sur des itérateurs, récursivement.
La classe RecursiveRegexIterator
Cet itérateur récursif peut filtrer un autre itérateur récursif à l’aide d’une expression rationnelle.
La classe RecursiveTreeIterator
Permet l’itération d’un RecursiveIterator pour générer un arbre graphique ASCII.
La classe RegexIterator
Cet itérateur sert pour réaliser un filtre basé sur une expression rationnelle.
L’interface Countable
Les classes qui implémentent l’interface Countable peuvent être utilisées avec la fonction count().
L’interface OuterIterator
Les classes implémentant la classe OuterIterator peuvent être utilisées pour itérer sur des itérateurs.
La classe RecursiveIterator
Les classes qui implémentent RecursiveIterator peut être utilisées pour itérer sur d’autres itérateurs récursivement.
L’interface SeekableIterator
L’itérateur SeekableIterator.
La classe BadFunctionCallException
Exception émise si une fonction de rappel n’existe pas ou si certains de ses arguments sont manquants.
La classe BadMethodCallException
Exception émise si une méthode de rappel n’existe pas ou si certains de ses arguments sont manquants.
La classe DomainException
Exception lancée si une valeur n’adhère pas à un domaine de données défini et valide.
La classe InvalidArgumentException
Exception émise si un argument ne correspond pas au type attendu.
La classe LengthException
Exception émise si une taille est invalide.
La classe LogicException
Exception qui représente les erreurs dans la logique du programme. Ce type d’exceptions doit obligatoirement faire l’objet d’une correction de votre code.
La classe OutOfBoundsException
Exception émise quand une valeur n’est pas une clé valide. Elle représente les erreurs qui ne peuvent pas être détectées au moment de la compilation.
La classe OutOfRangeException
Exception émise lorsqu’un index illégal est demandé. Elle représente les erreurs qui devraient être détectées au moment de la compilation.
La classe OverflowException
Exception émise lors de l’ajout d’un élément à un conteneur plein.
La classe RangeException
Exception émise pour indiquer des erreurs d’intervalle lors de l’exécution du programme. Normalement, cela signifie qu’il y a une erreur arithmétique autre qu’un débordement. C’est l’équivalent en cours d’exécution de DomainException.
La classe RuntimeException
Exception émise quand une erreur est rencontrée durant l’exécution.
La classe UnderflowException
Exception émise lorsqu’une opération invalide est effectuée sur un conteneur vide, tel qu’une suppression d’élément.
La classe UnexpectedValueException
Exception émise si une valeur ne fait pas partie d’une liste de valeurs. Typiquement, elle survient lorsqu’une fonction appelle une autre fonction et attend que la valeur retournée soit d’un certain type ou d’une certaine valeur, sans inclure les erreurs relatives à l’arithmétique ou au buffer.
array class_implements ( mixed $class [, bool $autoload = true ] )
Cette fonction retourne un tableau avec les noms des interfaces que la classe class ainsi que ses parents implémentent.
array class_parents ( mixed $class [, bool $autoload = true ] )
class_parents() retourne un tableau avec le nom des classes parentes de la classe class.
array class_uses ( mixed $class [, bool $autoload = true ] )
Cette fonction retourne un tableau représentant les noms des traits que la classe donnée utilise. Les traits des classes parentes ne sont pas représentés.
int iterator_apply ( Traversable $iterator , callable $function [, array $args ] )
Appelle une fonction pour tous les éléments d’un itérateur.
int iterator_count ( Traversable $iterator )
Compte les éléments dans un itérateur.
array iterator_to_array ( Traversable $iterator [, bool $use_keys = true ] )
Copie les éléments d’un itérateur dans un tableau.
void spl_autoload_call ( string $class_name )
Cette fonction peut être utilisée pour rechercher manuellement une classe ou une interface en utilisant les fonctions enregistrées __autoload.
string spl_autoload_extensions ([ string $file_extensions ] )
Cette fonction peut modifier et vérifier l’extension du fichier pour spl_autoload().
array spl_autoload_functions ( void )
Récupère toutes les fonctions __autoload() enregistrées.
bool spl_autoload_register ([ callable $autoload_function [, bool $throw = true [, bool $prepend = false ]]] )
spl_autoload_register() enregistre une fonction dans la pile __autoload() fournie. Si la pile n’est pas encore active, elle est activée.
Si votre code dispose déjà d’une fonction __autoload(), alors cette fonction doit explicitement enregistrer la pile __autoload. Ceci est du au fait que spl_autoload_register() remplace le cache du moteur pour la fonction __autoload() par soit spl_autoload(), soit spl_autoload_call().
Si vous devez utiliser plusieurs fonctions d’autochargement, la fonction spl_autoload_register() est faite pour cela. Elle crée une file d’attente de fonctions d’autochargement, et les exécute les unes après les autres, dans l’ordre où elles ont été définies. A contrario, la fonction __autoload() ne peut être définie qu’une seule fois.
bool spl_autoload_unregister ( mixed $autoload_function )
Efface une fonction de la pile autoload. Si la pile est active et vide après l’effacement de la fonction donnée, alors elle sera désactivée.
Lorsque cette fonction active une pile autoload, toutes les fonctions __autoload existantes ne seront pas réactivées.
void spl_autoload ( string $class_name [, string $file_extensions = spl_autoload_extensions() ] )
Cette fonction est prévue pour être utilisée comme implémentation par défaut pour __autoload(). Si rien de plus n’est spécifié et que spl_autoload_register() est appelé sans aucun paramètre, alors cette fonction sera utilisée pour tous les futures appels à __autoload().
array spl_classes ( void )
spl_classes() retourne un tableau avec la liste des classes SPL actuellement disponibles.
string spl_object_hash ( object $obj )
Cette fonction retourne un identifiant unique pour l’objet. Cet identifiant peut être utilisé comme clé de hashage pour stocker les objets ou pour les identifier, tant que l’objet n’est pas détruit. Une fois l’objet détruit, l’identifiant peut être réutilisé pour d’autres objets.
La classe SplFileInfo
La classe SplFileInfo fournit une interface de haut niveau avec les informations de fichiers.
La classe SplFileObject
La classe SplFileObject offre une interface orientée objet pour un fichier.
La classe SplTempFileObject
La classe SplTempFileObject offre une interface orientée objet pour un fichier temporaire
La classe ArrayObject
Cette classe permet aux objets de fonctionner comme des tableaux.
L’interface SplObserver
L’interface SplObserver est utilisée conjointement avec la classe SplSubject pour l’implémentation du patron de conception Observateur.
L’interface SplSubject
L’interface SplSubject est utilisée conjointement avec la classe SplObserver pour l’implémentation du patron de conception Observateur.