SPL Flashcards

1
Q

La classe SplDoublyLinkedList

A

La classe SplDoublyLinkedList fournit l’interface principale pour les listes doublement chaînées.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

La classe SplStack

A

La classe SplStack fournit l’interface de base pour implémenter une pile, basée sur une liste doublement chaînée.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

La classe SplQueue

A

La classe SplQueue fournit l’interface d’implémentation d’une queue, basée sur une liste doublement chaînée.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

La classe SplHeap

A

La classe SplHeap fournit l’interface pour un tas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

La classe SplMaxHeap

A

La classe SplMaxHeap fournit l’interface pour un tas, et conserve le maximum sur le haut.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

La classe SplMinHeap

A

La classe SplMinHeap fournit une interface pour un tas, qui conserve le minimum sur le haut

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

La classe SplPriorityQueue

A

La classe SplPriorityQueue fournit les fonctionnalités d’une queue à priorités, implémentées avec une pile maximale

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

La classe SplFixedArray

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

La classe SplObjectStorage

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

La classe AppendIterator

A

Un itérateur qui itère sur plusieurs itérateurs les uns après les autres.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

La classe ArrayIterator

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

La classe CachingIterator

A

Cet objet supporte les itérations en cache sur un autre itérateur.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

La classe CallbackFilterIterator

A

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

La classe DirectoryIterator

A

La classe DirectoryIterator fournit une interface simple pour lire le contenu d’un système de fichiers.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

La classe EmptyIterator

A

La classe EmptyIterator crée un objet itérateur vide.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

La classe FilesystemIterator

A

L’itérateur FilesystemIterator.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

La classe FilterIterator

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

La classe GlobIterator

A

Passe en revue un système de fichiers, de manière similaire à la fonction glob().

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

La classe InfiniteIterator

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

La classe IteratorIterator

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

La classe LimitIterator

A

La classe LimitIterator permet d’itérer sur une partie limitée d’entités depuis un Iterator.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

La classe MultipleIterator

A

Un intérateur qui itère séquentiellement sur plusieurs itérateurs.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

La classe NoRewindIterator

A

Un itérateur qui ne peut pas être remis à zéro.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

La classe ParentIterator

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

La classe RecursiveArrayIterator

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

La classe RecursiveCachingIterator

A

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

La classe RecursiveCallbackFilterIterator

A

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

La classe RecursiveDirectoryIterator

A

La classe RecursiveDirectoryIterator fournit un moyen d’itérer récursivement sur des dossiers d’un système de fichiers.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

La classe RecursiveFilterIterator

A

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.

30
Q

La classe RecursiveIteratorIterator

A

Peut être utilisé pour itérer sur des itérateurs, récursivement.

31
Q

La classe RecursiveRegexIterator

A

Cet itérateur récursif peut filtrer un autre itérateur récursif à l’aide d’une expression rationnelle.

32
Q

La classe RecursiveTreeIterator

A

Permet l’itération d’un RecursiveIterator pour générer un arbre graphique ASCII.

33
Q

La classe RegexIterator

A

Cet itérateur sert pour réaliser un filtre basé sur une expression rationnelle.

34
Q

L’interface Countable

A

Les classes qui implémentent l’interface Countable peuvent être utilisées avec la fonction count().

35
Q

L’interface OuterIterator

A

Les classes implémentant la classe OuterIterator peuvent être utilisées pour itérer sur des itérateurs.

36
Q

La classe RecursiveIterator

A

Les classes qui implémentent RecursiveIterator peut être utilisées pour itérer sur d’autres itérateurs récursivement.

37
Q

L’interface SeekableIterator

A

L’itérateur SeekableIterator.

38
Q

La classe BadFunctionCallException

A

Exception émise si une fonction de rappel n’existe pas ou si certains de ses arguments sont manquants.

39
Q

La classe BadMethodCallException

A

Exception émise si une méthode de rappel n’existe pas ou si certains de ses arguments sont manquants.

40
Q

La classe DomainException

A

Exception lancée si une valeur n’adhère pas à un domaine de données défini et valide.

41
Q

La classe InvalidArgumentException

A

Exception émise si un argument ne correspond pas au type attendu.

42
Q

La classe LengthException

A

Exception émise si une taille est invalide.

43
Q

La classe LogicException

A

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.

44
Q

La classe OutOfBoundsException

A

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.

45
Q

La classe OutOfRangeException

A

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.

46
Q

La classe OverflowException

A

Exception émise lors de l’ajout d’un élément à un conteneur plein.

47
Q

La classe RangeException

A

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.

48
Q

La classe RuntimeException

A

Exception émise quand une erreur est rencontrée durant l’exécution.

49
Q

La classe UnderflowException

A

Exception émise lorsqu’une opération invalide est effectuée sur un conteneur vide, tel qu’une suppression d’élément.

50
Q

La classe UnexpectedValueException

A

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.

51
Q

array class_implements ( mixed $class [, bool $autoload = true ] )

A

Cette fonction retourne un tableau avec les noms des interfaces que la classe class ainsi que ses parents implémentent.

52
Q

array class_parents ( mixed $class [, bool $autoload = true ] )

A

class_parents() retourne un tableau avec le nom des classes parentes de la classe class.

53
Q

array class_uses ( mixed $class [, bool $autoload = true ] )

A

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.

54
Q

int iterator_apply ( Traversable $iterator , callable $function [, array $args ] )

A

Appelle une fonction pour tous les éléments d’un itérateur.

55
Q

int iterator_count ( Traversable $iterator )

A

Compte les éléments dans un itérateur.

56
Q

array iterator_to_array ( Traversable $iterator [, bool $use_keys = true ] )

A

Copie les éléments d’un itérateur dans un tableau.

57
Q

void spl_autoload_call ( string $class_name )

A

Cette fonction peut être utilisée pour rechercher manuellement une classe ou une interface en utilisant les fonctions enregistrées __autoload.

58
Q

string spl_autoload_extensions ([ string $file_extensions ] )

A

Cette fonction peut modifier et vérifier l’extension du fichier pour spl_autoload().

59
Q

array spl_autoload_functions ( void )

A

Récupère toutes les fonctions __autoload() enregistrées.

60
Q

bool spl_autoload_register ([ callable $autoload_function [, bool $throw = true [, bool $prepend = false ]]] )

A

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.

61
Q

bool spl_autoload_unregister ( mixed $autoload_function )

A

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.

62
Q

void spl_autoload ( string $class_name [, string $file_extensions = spl_autoload_extensions() ] )

A

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().

63
Q

array spl_classes ( void )

A

spl_classes() retourne un tableau avec la liste des classes SPL actuellement disponibles.

64
Q

string spl_object_hash ( object $obj )

A

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.

65
Q

La classe SplFileInfo

A

La classe SplFileInfo fournit une interface de haut niveau avec les informations de fichiers.

66
Q

La classe SplFileObject

A

La classe SplFileObject offre une interface orientée objet pour un fichier.

67
Q

La classe SplTempFileObject

A

La classe SplTempFileObject offre une interface orientée objet pour un fichier temporaire

68
Q

La classe ArrayObject

A

Cette classe permet aux objets de fonctionner comme des tableaux.

69
Q

L’interface SplObserver

A

L’interface SplObserver est utilisée conjointement avec la classe SplSubject pour l’implémentation du patron de conception Observateur.

70
Q

L’interface SplSubject

A

L’interface SplSubject est utilisée conjointement avec la classe SplObserver pour l’implémentation du patron de conception Observateur.