Sie sind auf Seite 1von 21

* Bibliotecas

Estndar de PHP

* La Biblioteca Estndar de PHP (Standard PHP

Library en ingls) es una coleccin de


interfaces y clases pensadas para solucionar
problemas comunes.
* No es necesaria ninguna biblioteca externa
para construir esta extensin. Est disponible y
compilada de forma predeterminada a partir
de la versin PHP 5.0.0.

*Introduccin

* Al ser la librera estndar esta orientada a


solucionar problemas comunes dentro del
desarrollo.
* Las clases son implementadas para las
siguientes funcionalidades:

Tratamiento de iteradores
Tratamiento de XML
Manejo de directorios y ficheros
Manejo de excepciones
Contadores

* Ventajas e inconvenientes

Esta extensin contiene una serie de clases


orientadas a definir principalmente estructuras
de datos. Las cuales estn agrupadas por su
implementacin subyacente.

Listas Doblemente Enlazadas


Montculos
Arrays
Mapa

*Estructuras de Datos

* Las clases pertenecientes a esta agrupacin


son:

SplDoublyLinkedList
oSplStack
oSplQueue

* Siendo

la clase SplDoublyLinkedList una clase


padre, por ende, las clases SplStack y
SplQueue heredan sus mtodos.
* Sintaxis:
SplDoublyLinkedList
implements
Iterator,
ArrayAccess, Countable { }

*Listas Doblemente

Enlazadas

* Mtodos Heredados

SplDoublyLinkedList::add
SplDoublyLinkedList::botton
SplDoublyLinkedList::pop
SplDoublyLinkedList::prev
SplDoublyLinkedList::push

* Mtodos SplStack

SplStack::__construct
SplStack::setIteratorMode

* Mtodos SplQueue

SplQueue::__construct
SplQueue::dequeue
SplQueue::enqueue
SplQueue::setIteratorMode

*Listas Doblemente

Enlazadas

* Son estructuras de arboles que siguen la

propiedad: cada nodo es mayor o igual a sus


hijos. Cuando son comparados utilizando el
mtodo de comparacin implementado.
* Las clases pertenecientes a esta agrupacin
son:

SplHeap

oSplMaxHeap
oSplMinHeap

SplPriorityQueue

* Siendo SplHeap una clase padre, y,

SplMaxHeap y SplMinHeap sus clases hijas.

*Montculos

*SplHeap::compare Compara elementos con el fin de colocarlos

correctamente en el montn en la parte de arriba


*SplHeap::__construct Construye un nuevo heap vaco
*SplHeap::count Cuenta el nmero de elementos en el montn
*SplHeap::current Devuelve el nodo actual sealado por el iterador
*SplHeap::extract Extrae un nodo de la parte superior del montn
*SplHeap::insert Inserta un elemento en el montn
*SplHeap::isEmpty Comprueba si el montn actual est vaco
*SplHeap::key Devuelve el ndice de el nodo actual
*SplHeap::next Avanzar al siguiente nodo
*SplHeap::recoverFromCorruption Recuperarse de un estado daado y
permitir un mayor nmero de acciones en el montn
*SplHeap::rewind Rebobina el iterador al comienzo
*SplHeap::top Observar el nodo desde el comienzo del montn
*SplHeap::valid Comprueba si el montn contiene ms nodos

*Mtodos SplHeap

* Sintaxis SplHeap:
abstractSplHeapimplementsIterator,Countable
{}

* Sintaxis SplPriorityQueue:
SplPriorityQueueimplements Iterator, Countable
{}

*Montculos

* Estos son implementados como Tablas de Hash.


* Son de longitud fija y solamente permiten
enteros dentro del rango de ndices.
* Las clases pertenecientes a esta agrupacin
son:

SplFixedArray

* Sintaxis:
SplFixedArrayimplementsIterator,ArrayAccess
,Countable { }

*Arrays

* SPL proporciona una correspondencia de objetos

a datos. Este mapa puede ser utilizado adems


como un conjunto de objetos.
* Las clases pertenecientes a esta agrupacin son:

SplObjectStorage

* Sintaxis:

SplObjectStorageimplementsCountable,Iterator
,Serializable,ArrayAccess { }

*Mapa

* ArrayIterator

RecursiveArrayIterator

* EmptyIterator
* IteratorIterator

AppendIterator
CachingIterator

oRecursiveCachingIterator

* FilterIterator

CallbackFilterIterator

o RecursiveCallbackFilterIterator

RecursiveFilterIterator
o ParentIterator

RegexIterator

o RecursiveRegexIterator

*Iteradores

* Sintaxis:
EmptyIteratorimplementsIterator { }
IteratorIteratorimplementsOuterIterator { }

*Iteradores

*Countable

Countable::count

*OuterIterator

OuterIterator::getInnerIterator

*RecursiveIterator

RecursiveIterator::getChildren
RecursiveIterator::hasChildren

*SeekableIterator

SeekableIterator::seek

*Interfaces

* BadFunctionCallException
* BadMethodCallException
* DomainException
* InvalidArgumentException
* LengthException
* OutOfRangeException
Sintaxis:
BadFunctionCallExceptionextendsLogicExcepti
on { }
* LogicException
Sintaxis:
LogicExceptionextendsException { }

*Excepciones

* OutOfBoundsException
* OverflowException
* RangeException
* RuntimeException
* UnderflowException
* UnexpectedValueException
Sintaxis:
OutOfBoundsExceptionextendsRuntimeExce
ption { }

*Excepciones

* class_implements
* class_parents
* class_uses
* interator_apply
* iterator_count
* iterator_to_array
* spl_autoload_call
* spl_autoload_extensions
* spl_autoload_functions
* spl_autoload_register
* spl_autoload_unregister
* spl_autoload
* spl_classes
* spl_object_hash

*Funciones SPL

*SplFileInfo
Mtodos

SplFileInfo::getATime
SplFileInfo::getBasename
SplFileInfo::getCTime

*SplFileObject
Mtodos

SplFileObject::eof
SplFileObject::fflush
SplFileObject::fgetc

*SplTempFileObjetc
Mtodos

SplTempFileObject::__construct

*Manejo de Ficheros

* ArrayObject
Mtodos

ArrayObject::append
ArrayObject::asort
ArrayObject::ksort

* SplObserver
Mtodos

SplObserver::update

* SplSubject
Mtodos

SplSubject::attach
SplSubject::detach
SplSubject::notify

*Clases Miscelneas e
Interfaces

* http://php.net/manual/es/book.spl.php
* http://www.juntadeandalucia.es/servicios/madeja/
contenido/recurso/269

*Infografa

GRACIAS!

Das könnte Ihnen auch gefallen