Introdução à Standard PHP Library
Utilizando a função spl_classes() é possível saber todas as classes SPL disponíveis no seu PHP. spl_classes() retorna um array, veja:
saída:
Com a classe SimpleXMLIterator por exemplo é possível ler um XML facilmente apenas com um foreach(). Imagine o arquivo contatos.xml abaixo:
Mostrando todos os nomes:
Arrays também podem ser percorridos com as classes *Iterators disponíveis:
<?php
echo "<pre>" . print_r(spl_classes(), 1) . "</pre>";
?>
saída:
Array
(
[AppendIterator] => AppendIterator
[ArrayIterator] => ArrayIterator
[ArrayObject] => ArrayObject
[BadFunctionCallException] => BadFunctionCallException
[BadMethodCallException] => BadMethodCallException
[CachingIterator] => CachingIterator
[Countable] => Countable
[DirectoryIterator] => DirectoryIterator
[DomainException] => DomainException
[EmptyIterator] => EmptyIterator
[FilterIterator] => FilterIterator
[InfiniteIterator] => InfiniteIterator
[InvalidArgumentException] => InvalidArgumentException
[IteratorIterator] => IteratorIterator
[LengthException] => LengthException
[LimitIterator] => LimitIterator
[LogicException] => LogicException
[NoRewindIterator] => NoRewindIterator
[OuterIterator] => OuterIterator
[OutOfBoundsException] => OutOfBoundsException
[OutOfRangeException] => OutOfRangeException
[OverflowException] => OverflowException
[ParentIterator] => ParentIterator
[RangeException] => RangeException
[RecursiveArrayIterator] => RecursiveArrayIterator
[RecursiveCachingIterator] => RecursiveCachingIterator
[RecursiveDirectoryIterator] => RecursiveDirectoryIterator
[RecursiveFilterIterator] => RecursiveFilterIterator
[RecursiveIterator] => RecursiveIterator
[RecursiveIteratorIterator] => RecursiveIteratorIterator
[RuntimeException] => RuntimeException
[SeekableIterator] => SeekableIterator
[SimpleXMLIterator] => SimpleXMLIterator
[SplFileInfo] => SplFileInfo
[SplFileObject] => SplFileObject
[SplObjectStorage] => SplObjectStorage
[SplObserver] => SplObserver
[SplSubject] => SplSubject
[SplTempFileObject] => SplTempFileObject
[UnderflowException] => UnderflowException
[UnexpectedValueException] => UnexpectedValueException
)
Com a classe SimpleXMLIterator por exemplo é possível ler um XML facilmente apenas com um foreach(). Imagine o arquivo contatos.xml abaixo:
<?xml version="1.0" encoding="iso-8859-1"?>
<contatos>
<contato>
<nome>João</nome>
<email>joao@php</email>
</contato>
<contato>
<nome>Maria</nome>
<email>maria@php</email>
</contato>
</contatos>
Mostrando todos os nomes:
<?php
$dados = file_get_contents("contatos.xml");
foreach (new SimpleXMLIterator($dados) as $contato) {
echo $contato->nome . "<br />";
}
?>
Arrays também podem ser percorridos com as classes *Iterators disponíveis:
<?php
$n = new ArrayIterator(array(1, 2, 3));
foreach ($n as $value) {
echo $value . "<br />";
}
?>
valeu mesmo,