Bibliotecas Estándar de PHP

Embed Size (px)

DESCRIPTION

Presentación de las Bibliotecas Estándar que tiene la programación web PHP

Citation preview

Presentacin de PowerPoint

Bibliotecas Estndar de PHPIntroduccinLa 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.

Ventajas e inconvenientesAl ser la librera estndar esta orientada a solucionar problemas comunes dentro del desarrollo. Las clases son implementadas para las siguientes funcionalidades:Tratamiento de iteradoresTratamiento de XMLManejo de directorios y ficherosManejo de excepcionesContadoresEstructuras de Datos Esta extensin contiene una serie de clases orientadas a definir principalmente estructuras de datos. Las cuales estn agrupadas por su implementacin subyacente.Listas Doblemente EnlazadasMontculosArraysMapaListas Doblemente EnlazadasLas clases pertenecientes a esta agrupacin son:SplDoublyLinkedListSplStackSplQueueSiendo la clase SplDoublyLinkedList una clase padre, por ende, las clases SplStack y SplQueue heredan sus mtodos.Sintaxis: SplDoublyLinkedList implements Iterator, ArrayAccess, Countable { }

Listas Doblemente EnlazadasMtodos HeredadosSplDoublyLinkedList::addSplDoublyLinkedList::bottonSplDoublyLinkedList::popSplDoublyLinkedList::prevSplDoublyLinkedList::pushMtodos SplStackSplStack::__construct SplStack::setIteratorMode Mtodos SplQueueSplQueue::__construct SplQueue::dequeue SplQueue::enqueue SplQueue::setIteratorMode

MontculosSon 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:SplHeapSplMaxHeapSplMinHeapSplPriorityQueueSiendo SplHeap una clase padre, y, SplMaxHeap y SplMinHeap sus clases hijas.

7Mtodos SplHeapSplHeap::compare Compara elementos con el fin de colocarlos correctamente en el montn en la parte de arribaSplHeap::__construct Construye un nuevo heap vacoSplHeap::count Cuenta el nmero de elementos en el montnSplHeap::current Devuelve el nodo actual sealado por el iteradorSplHeap::extract Extrae un nodo de la parte superior del montnSplHeap::insert Inserta un elemento en el montnSplHeap::isEmpty Comprueba si el montn actual est vacoSplHeap::key Devuelve el ndice de el nodo actualSplHeap::next Avanzar al siguiente nodoSplHeap::recoverFromCorruption Recuperarse de un estado daado y permitir un mayor nmero de acciones en el montnSplHeap::rewind Rebobina el iterador al comienzoSplHeap::top Observar el nodo desde el comienzo del montnSplHeap::valid Comprueba si el montn contiene ms nodos

MontculosSintaxis SplHeap:abstractSplHeapimplementsIterator,Countable{ }

Sintaxis SplPriorityQueue:SplPriorityQueueimplements Iterator, Countable { }ArraysEstos 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:SplFixedArraySintaxis:SplFixedArrayimplementsIterator,ArrayAccess,Countable { }MapaSPL 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:SplObjectStorageSintaxis:SplObjectStorageimplementsCountable,Iterator,Serializable,ArrayAccess { }IteradoresArrayIteratorRecursiveArrayIteratorEmptyIteratorIteratorIteratorAppendIteratorCachingIteratorRecursiveCachingIteratorFilterIteratorCallbackFilterIteratorRecursiveCallbackFilterIteratorRecursiveFilterIteratorParentIteratorRegexIteratorRecursiveRegexIteratorIteradoresSintaxis:EmptyIteratorimplementsIterator { }

IteratorIteratorimplementsOuterIterator { }

InterfacesCountableCountable::countOuterIteratorOuterIterator::getInnerIteratorRecursiveIteratorRecursiveIterator::getChildrenRecursiveIterator::hasChildrenSeekableIteratorSeekableIterator::seekExcepcionesBadFunctionCallExceptionBadMethodCallExceptionDomainExceptionInvalidArgumentExceptionLengthExceptionOutOfRangeExceptionSintaxis:BadFunctionCallExceptionextendsLogicException { }LogicExceptionSintaxis:LogicExceptionextendsException { }ExcepcionesOutOfBoundsExceptionOverflowExceptionRangeExceptionRuntimeExceptionUnderflowExceptionUnexpectedValueExceptionSintaxis:OutOfBoundsExceptionextendsRuntimeException { }

Funciones SPLclass_implementsclass_parentsclass_usesinterator_applyiterator_countiterator_to_arrayspl_autoload_callspl_autoload_extensionsspl_autoload_functionsspl_autoload_registerspl_autoload_unregisterspl_autoloadspl_classesspl_object_hashManejo de FicherosSplFileInfoMtodos SplFileInfo::getATimeSplFileInfo::getBasenameSplFileInfo::getCTimeSplFileObjectMtodosSplFileObject::eofSplFileObject::fflushSplFileObject::fgetcSplTempFileObjetcMtodosSplTempFileObject::__construct

Clases Miscelneas e Interfaces

ArrayObjectMtodosArrayObject::appendArrayObject::asortArrayObject::ksort SplObserverMtodosSplObserver::updateSplSubjectMtodosSplSubject::attachSplSubject::detachSplSubject::notify

Infografahttp://php.net/manual/es/book.spl.php

http://www.juntadeandalucia.es/servicios/madeja/contenido/recurso/269

GRACIAS!