Anda di halaman 1dari 99

Curso PHP Advanced and Ajax

2012

Estado, Cookies y Sesiones


2012

Estados en PHP

HTTP es un protocolo sin estado Cada vez que se ejecuta un script, las variables y otros datos comienzan en un estado limpio Esto sucede porque cada solicitud que el navegador realiza al servidor Web es independiente de la solicitud previa Cuando el servidor web recibe la solicitud, ejecuta el script PHP, este carga el script en memoria, lo ejecuta y al finalizar remueve todo de memoria
Ing. Mauricio Mern - Curso PHP-Mod2-2012

Estado en PHP

Las aplicaciones Web de hoy en da necesitan almacenar datos entre solicitudes del navegador. Ejemplo: Un carrito de compra En otras palabras, se necesita preservar el estado actual de las interacciones del usuario en una aplicacin de una solicitud a la otra Ejemplos

Un carrito de compra Solicitar credenciales de autenticacin Permitir una pgina personalizable Modificar un men en base a un rol del usuario

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Estado en PHP

Formas de guardar el estado:


Cookies: Almacenan datos en el navegador (en la mquina del cliente) Sesiones: Almacenan datos y de manera ms segura (en el servidor)

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Cookie

Un cookie: Permite almacenar una pequea cantidad de datos (no ms de 4KB) en el propio navegador (en la mquina del usuario) Siempre que el navegador solicite una pgina, de la cual se tenga una cookie, el navegador enva al servidor todos los datos que se tengan en la cookie correspondiente. Esto significa que el navegador enva los datos y los datos estn automticamente disponibles para el script

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Cookie

Se pueden generar cookies vlidas por una determinada cantidad de tiempo, o que expire cuando se cierre cuando el navegador se cierre. Los navegadores modernos permiten almacenar 30 cookies por dominio Los navegadores solo envan las cookies a los sitios Web que las generaron Las cookies no son seguras y pueden estar deshabilitadas. Si se necesita almacenar datos no crticos, las cookies son muy tiles
Ing. Mauricio Mern - Curso PHP-Mod2-2012

Cookie

Una cookie es enviada del servidor al navegador como parte de una cabecera HTTP

Nombre

Expira

A que path el navegador tiene que enviar la cookie

Dominio al que el navegador va a enviar la cookie

Solamente pueden acceder a los datos el de la cookie el script que se ejecuta en el server

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Cookie

Para enviar una cookie, se pueden usar dos formas:


Usar la funcin header de PHP, y establecerle Set-Cookie Usar la funcin de PHP setcookie (esta puede enviar la cabecera HTTP apropiada para crear una cookie en el browser)

Hay que asegurarse que la funcin setcookie se llama antes de enviar cualquier salida en el browser. Esto es porque setcookie debe enviar Set-Cookie en la cabecera HTTP. Si se genera cualquier salida antes de setcookie, PHP automticamente enva una cabecera primero, y cuando se llama a setcookie ya es muy tarde porque las cabeceras ya se enviaron
Ing. Mauricio Mern - Curso PHP-Mod2-2012

Cookie

Para acceder a las cookies, se accede al array superglobal $_COOKIE, este contiene todos los valores de las cookies que son enviados por el navegador en la solicitud actual

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Cookie

Problemas con las cookies


No son seguras (los atacantes las pueden modificar) Pueden almacenar poca cantidad de informacin Pueden generar mucho espacio para almacenar (ya que se envan todas las cookies de un sitio en cada solicitud)

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Sesiones

Los problemas de las cookies son resueltos con las sesiones Las sesiones PHP se almacenan en el servidor Web y el ID asociado de la sesin SID El motor de PHP enva una cookie al navegador que contiene el SID. Cuando el navegador solicita un URL del sitio Web, este enva la cookie que contiene el SID de nuevo al servidor, permitiendo a PHP recuperar la informacin de la sesin y hacerla accesible
Ing. Mauricio Mern - Curso PHP-Mod2-2012

Sesiones

Los SID son nicos y randmicos y no se pueden repetir, esto hace complicado para los ataques. Los datos de la sesin no son enviados, son almacenados en el servidor y pueden almacenar ms informacin que la cookie Las sesiones se almacenan en archivos temporales en el servidor. Eso se puede modificar en la directiva session.save_path en el php.ini Las sesiones sirven para almacenar temporalmente informacin, si se quiere un almacenamiento ms permanente usar archivos o BD
Ing. Mauricio Mern - Curso PHP-Mod2-2012

Sesiones

Las sesiones funcionan asignado un identificador nico a cada cliente y asociando a este identificador informacin Esta informacin se almacena en forma temporal Dentro de las aplicaciones PHP, una sesin representa una conexin lgica 1 a 1, entre el servidor y un cliente concreto. Esa informacin se guarda en el lado del servidor y persiste durante cierta cantidad de tiempo y bajo ciertas circunstancias

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Sesiones

Las cookies se almacenan en el lado cliente, las sesiones se almacenan en el lado servidor El soporte para sesiones le permite almacenar los datos entre peticiones en el array superglobal $_SESSION. Cuando un visitante accede a su sitio, PHP comprobar automticamente (si session.auto_start est establecido a 1) o sobre su peticin (explcitamete a travs de session_start() o implcitamente a travs de session_register()) si un id de sesin especfico ha sido enviado con la peticin. Si ste es el caso, se recrea el entorno anteriormente guardado
Lic. Omar Esgaib - Ing. Mauricio Mern

Sesiones Funciones de Sesiones

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Referencia de funciones PHP

http://www.php.net/manual/es/book.session.php PHP 5.3 incluye dos clase para manejar sesiones


SessionHandler SessionHandlerInterface

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Sesiones

A continuacin veremos un ejemplo del manejo de sesiones Configuraciones varias para sesiones se definen en el php.ini Presentamos un sencillo ejemplo para entender su funcionamiento

Lic. Omar Esgaib - Ing. Mauricio Mern

Sesiones Script de ejemplo

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Sesiones Salida del Script

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Sesiones las Cookies del cliente

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Sesiones - Ejemplo

Incluimos la directiva session_start() Esta directiva, la incluimos al comienzo de la pgina Si bien en los ejemplos no seguimos esta recomendacin por la simplicidad de los mismos, es mejor incluir la directiva antes que cualquier otra cosa en nuestra pgina Veremos ahora el funcionamiento de la utilizacin de sesiones a travs de cookies Tambin es posible pasar las sesiones a travs del URL, para casos donde no se acepten cookies en el cliente
Ing. Mauricio Mern - Curso PHP-Mod2-2012

Sesiones - Ejemplos

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Sesiones - Ejemplo

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Sesiones - Ejemplos

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Sesiones - Ejemplos

Al incluir la directiva session_start() al comienzo de nuestra pgina, automticamente vemos que se creo una nueva cookie en el cliente Esta cookie posee un nmero identificador, el nmero de sesin, que ser el que nos permita identificar o pasar datos entre conexiones distintas que sean del mismo usuario

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Sesiones - Ejemplos

Cambiamos el URL, aunque el archivo sea el mismo

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Sesiones - Ejemplo

Otro dominio, otra cookie

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Sesiones - Ejemplo

Con un tercer dominio en el URL (que apunta al mismo lugar)

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Sesiones - Ejemplo

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Sesiones - Ejemplo

Se crea una cookie distinta, por sesin, al utilizar dominios distintos (si bien, por detrs el servidor es el mismo) La creacin del cookie y su sesin se hacen en forma transparente, solamente es necesario incluir la directiva session_start()

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Sesiones - Ejemplo

Ahora veremos como acceder a los valores de las sesiones creadas Primero un ejemplo donde no incluimos la directiva session_start() Si no incluimos la misma, no se pasan las variables de sesin En el ejemplo siguiente la sesin existe pero al no incluir la directiva no se asocia con el usuario y sus valores no se pueden utilizar
Ing. Mauricio Mern - Curso PHP-Mod2-2012

Sesiones - Ejemplo

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Sesiones - Ejemplo

Ahora incluimos la directiva necesaria para el trabajo con sesiones en PHP Siempre es recomendable incluir la directiva antes que cualquier otra cosa en el cuerpo de la pgina Luego veremos como el valor impreso es el mismo que el que est almacenado en el cookie

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Sesiones - Ejemplo

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Sesiones - Ejemplo

El valor impreso es el mismo valor que el cookie

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Sesiones - Ejemplo

Cmo saber si uno ya inicio sesin? Del manual de PHP:


Return Values session_id() returns the session id for the current session or the empty string () if there is no current session (no current session id exists).

Una sesin nos permite identificar entonces cuando una conexin se realizo por un cliente por primera vez, o no. Sin embargo, la sesin nos permite identificar a un cliente de otro, pero como podemos asociar informacin a este?
Ing. Mauricio Mern - Curso PHP-Mod2-2012

Sesiones - Ejemplo

Al iniciar una sesin podemos crear variables de sesin Para saber si alguien inici sesin podemos preguntar si las mismas estn definidas o no Primero el ejemplo de cmo se pasan las variables de sesin Creamos tres variables de sesin, y en la siguiente pgina las imprimimos

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Sesiones - Ejemplo

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Sesiones - Ejemplos

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Sesiones - Ejemplos

Modificamos el archivo consesion2.php de la siguiente manera

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Sesiones - Ejemplo

En los ejemplos anteriores, ya tena una sesin creada. Al utilizar sesiones mediante el paso de cookies, para poder hacer una conexin nueva tengo que eliminar las cookies de mi cliente Ahora eliminamos las cookies del cliente, para eliminar la que contiene la variable de sesin e intentamos ingresar directamente a consesion2.php (que utiliza sesiones creadas anteriormente) sin ingresar primero a consesion.php (que es donde se crean las variables de sesin)

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Sesiones - Ejemplo

Para saber si una variable (general o de sesin) fue inicializada a un valor, eliminarla u otras podemos tambin utilizar funciones como:

isset() unset() empty() is_null()

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Sesiones - Ejemplo

Al eliminar las cookies del cliente, no se puede asociar la sesin con el mismo Al utilizar session_start() se le crea una nueva sesin, pero sin variables de sesin definidas

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Sesiones - Ejemplo

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Sesiones - Ejemplo

Ya sabemos como iniciar una sesin nueva, o continuar una existente Adems, ya sabemos como crear variables de sesin, y como pasarlas de una pgina a otra Cmo se asocian las variables con un usuario en particular? Cmo se pasa un cookie de un cliente al servidor? Ahora veremos como se almacenan las variables de sesin en el servidor

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Sesiones - Ejemplo

En el archivo php.ini se especifica la carpeta del SERVIDOR donde se guardarn las variables de sesin Las mismas son simples archivos de texto, con nombre igual al de la sesin que pertenecen, con algn prefijo En este ejemplo, defino la carpeta en el servidor: /tmp Elimino las cookies de mi cliente para crear una sesin de cero, y elimino todas las sesiones en el servidor El contenido del servidor, en la carpeta de sesiones

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Sesiones - Ejemplo

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Sesiones - Ejemplo

Ahora ingreso a la pgina. Se crea la sesin y se setean las variables en la primera pgina Se crea la cookie correspondiente en el cliente La sesin est creada, una session_id nica es creada en el servidor, su valor es el de la cookie en el cliente

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Sesiones - Ejemplo

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Sesiones - Ejemplo

Si observamos el contenido del archivo sess_5iomon487j4ukocibtjhrh5bj6 (id de la sesin de un usuario) veremos que las variables de sesin se guardan as: nombre|Tipo:Tamao:"Valor";

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Sesiones - Ejemplo

Ahora agregamos un botn salir que nos lleve a una nueva pgina

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Sesiones - Ejemplo

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Sesiones - Ejemplo

Se elimin la sesin en el servidor utilizando la directiva session_destroy() Sin embargo, todava son accesibles las variables en el cliente, hasta que cambiemos a otra pgina. Muchas veces esto es un comportamiento no deseado y tenemos que eliminar a mano las variables $_SESSION y luego destruir la sesin. Adems el COOKIE sigue en el cliente. Tambin es recomendable eliminar el cookie explcitamente.

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Sesiones - Ejemplo

Ahora un rpido ejemplo de cmo se hace el paso de cookies (independientemente de sesiones PHP). Solicitamos una pgina. Los headers HTTP de la solicitud seran algo as como:

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Sesiones - Ejemplo

Respuesta del servidor

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Sesiones - Ejemplo

En el cliente se crean las cookies enviadas por el servidor. Y la siguiente solicitud desde el cliente sera:

En la solicitud ya viajan las cookies, en este ejemplo para autenticacin

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Ejemplo pagina.php

Lic. Omar Esgaib - Ing. Mauricio Mern

Ejemplo Salida pagina.php

Lic. Omar Esgaib - Ing. Mauricio Mern

Ejemplo pagina2.php

Lic. Omar Esgaib - Ing. Mauricio Mern

Ejemplo Salida pagina2.php

Lic. Omar Esgaib - Ing. Mauricio Mern

Ejemplo pagina3.php

Lic. Omar Esgaib - Ing. Mauricio Mern

Ejemplo Salida pagina3.php

Lic. Omar Esgaib - Ing. Mauricio Mern

Ejercicio Sesiones

Realizar un sistema de login Se debe desplegar un formulario con input text de tipo adecuado para usuario y contrasea. Se debe tener el botn de login Cuando se logea, se debe verificar si el usuario y contrasea coinciden con las existentes en un archivo. Si coinciden se debe desplegar un mensaje de bienvenida y el nombre del usuario. Si no es un usuario vlido se debe desplegar el mensaje correspondiente Los usuarios autenticados deben tener un link de deslogueo que termine con los datos del usuario

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Namespace
2012

Namespace

Introducidos en PHP 5.3 Los namespaces mejoran considerablemente la estructura de los programas Segn va aumentando el nmero de bibliotecas escritas en PHP se hace mayor el riesgo de colisin de nombres de clases y funciones entre bibliotecas. Es aqu donde empieza a tomar forma los namespace

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Namespace

En su definicin ms amplia los namespaces (espacios de nombres) son una manera de encapsular elementos Se puede ver como un concepto abstracto en muchos aspectos El concepto de namespace es anlogo al concepto de directorios en los sistemas operativos

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Namespace

En cualquier sistema operativo los directorios sirven para agrupar archivos relacionados, y actan como namespace para los archivos que hay en ellos El archivo namespace.txt puede existir en los directorios /home/mauricio y /home/otro, pero no pueden existir dos copias de namespace.txt en el mismo directorio Adems, para acceder al archivo namespace.txt fuera del directorio /home/mauricio se debe aadir el nombre del directorio delante del nombre del archivo usando el separador de directorios para obtener /home/mauricio/ namespace.txt Este mismo principio se extiende a los namespace en el mundo de la programacin.

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Namespace

Aunque cualquier cdigo de PHP vlido puede estar contenido dentro de un namespace, slo son afectados por los namespace cuatro tipos de construcciones:

Constantes Funciones Clases Interfaces

Los espacios de nombres en PHP proporcionan una manera para agrupar clases, interfaces, funciones y constantes relacionadas
Ing. Mauricio Mern - Curso PHP-Mod2-2012

Namespace

En el mundo de PHP, los espacios de nombres estn diseados para solucionar dos problemas que los autores de bibliotecas y aplicaciones se encuentran cuando crean elementos de cdigo reusable tales como clases o funciones:

El conflicto de nombres entre el cdigo que se crea y las clases/funciones/constantes internas de PHP o las clases/funciones/constantes de terceros La capacidad de apodar (o abreviar) Nombres_Extra_Largos diseado para aliviar el problema en primer lugar, mejorando la legibilidad del cdigo fuente

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Namespace

En un principio sera totalmente comprensible que diferentes programas implementen por ejemplo una clase llamada Auto o una constante llamada CANTIDADRUEDAS Hasta la llegada de PHP 5.3 estaba mal visto porque haba que intentar evitar tener problemas de compatibilidad con otros proyectos. Por eso mismo era ms probable que esa clase se llamara por ejemplo Mi_Proyecto_Auto o Mi_Proyecto_ CANTIDADRUEDAS

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Namespace

Un ejemplo de una funcin conocida en zend framework, cuyo nombre es extremadamente largo, es

Zend_Search_Lucene_Analysis_Analyzer_Common_Text_CaseInse nsitive

Los Namespaces resuelven este problema porque las constantes, clases y funciones pueden quedar definidas dentro de su Namespace, sin entrar en conflicto con otros homnimos que estn dentro de otros namespaces
Ing. Mauricio Mern - Curso PHP-Mod2-2012

Namespace

Los nombres de espacio de nombres PHP y php, y los nombres compuestos a partir de estos nombres (como PHP\Classes) estn reservados para el uso del lenguaje interno y no deben ser utilizados en el cdigo Un archivo que contiene un namespace debe declararlo al inicio del archivo, antes que cualquier otro cdigo - con una excepcin: la palabra clave declare El constructor declare es usado para fijar directivas de ejecucin para un bloque de cdigo (declara la codificacin del archivo fuente)
Ing. Mauricio Mern - Curso PHP-Mod2-2012

Namespace

Adems, a diferencia de otras construcciones de PHP, se puede definir el mismo espacio de nombres en mltiples archivos, permitiendo la separacin de contenido de espacios de nombres a travs del sistema de archivos Al igual que los directorios y archivos, los espacios de nombres de PHP tambin tienen la capacidad de especificar una jerarqua de nombres de espacios de nombres En un mismo script se pueden declarar varios namespaces (aunque no tiene mucho sentido)
Ing. Mauricio Mern - Curso PHP-Mod2-2012

Namespace

Si se declaran varios namespaces en el mismo archivo, se tienen dos sintaxis permitidas:


sintaxis de combinacin simple sintaxis de llaves

Se desaconseja encarecidamente, como prctica de cdigo, el combinar mltiples espacios de nombres en el mismo archivo (Manual de PHP)

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Sintaxis de combinacin simple

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Sintaxis de llaves

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Formas de acceder a un namespace

Se puede hacer una simple analoga entre los namespace de PHP y el sistema de archivos. Existen tres maneras de acceder a un archivo en el sistema de archivos:

Nombre de archivo relativo como foo.txt. Esto se resuelve con directorioactual/foo.txt donde directorioactual es el directorio actualmente ocupado. Por lo que si el directorio actual es /home/foo, el nombre se resuelve con /home/foo/foo.txt. Nombre de ruta relativa como subdirectorio/foo.txt. Esto se resuelve con directorioactual/subdirectorio/foo.txt. Nombre de ruta absoluto como /main/foo.txt. Esto se resuelve con /main/foo.txt.
Ing. Mauricio Mern - Curso PHP-Mod2-2012

Namespace

Se puede hacer referencia a un nombre de una clase de tres maneras:

Nombre no cualificado, o nombre de clase sin prefijo. Si el espacio de nombres actual es espaciodenombresactual, esto se resuelve con espaciodenombresactual\foo. Si el cdigo es global, no es de espacio de nombres, esto se resuelve con foo Nombre cualificado, o un nombre de clase con prefijo. Si el espacio de nombres actual es espaciodenombresactual, esto se resuelve con espaciodenombresactual\subespaciodenombres\foo. Si el cdigo es global, no es de espacio de nombres, esto se resuelve con subespaciodenombres\foo Nombre completamente cualificado, o un nombre con prefijo con el operador de prefijo global. Esto siempre se resuelve con nombre literal especificado en el cdigo, espaciodenombresactual\foo.
Ing. Mauricio Mern - Curso PHP-Mod2-2012

Namespace

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Namespace

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Namespace

PHP soporta dos formas de acceder de manera abstracta a elementos dentro del espacio de nombres actual, la constante mgica __NAMESPACE__, y la palabra clave namespace El valor de __NAMESPACE__ es una cadena que contiene el nombre del espacio de nombres actual. En cdigo global, cdigo que no es de espacio de nombres, contiene una cadena vaca La palabra clave namespace se puede usar para solicitar explcitamente un elemento del espacio de nombres o sub-espacio de nombres actual
Ing. Mauricio Mern - Curso PHP-Mod2-2012

Namespace

La capacidad de referirse a un nombre completamente cualificado externo con un alias, o importar, es una caracterstica importante de los espacios de nombres. Esto es similar a la capacidad de los sistemas de archivos basados en Unix de crear enlaces simblicos a un archivo o directorio Los espacios de nombres de PHP soportan tres tipos de alias o importacioens: Establecer un alias a un nombre de clase Establecer un alias a un nombre de interfaz Establecer un alias a un namespace

Observe que importar una funcin o una constante no est soportado En PHP, apodar se lleva a cabo con el operador use
Ing. Mauricio Mern - Curso PHP-Mod2-2012

Namespace

Los namespaces se pueden importar mediante el comando use. La utilizacin del comando use no cambia el espacio en el que trabajamos, si estamos en el espacio global seguiremos en l, y si estamos dentro de un namespace porque estamos usando la palabra clave namespace dentro de nuestro script, tambin seguiremos en l; pero nos permitir hacer uso de cosas de otros namespaces haciendo uso del nombre cualificado Se pueden importar tantos namespaces como se quieran haciendo uso del comando use en repetidas ocasiones o separndolos con comas en la misma instruccin
Ing. Mauricio Mern - Curso PHP-Mod2-2012

Namespace

Los alias son un recurso muy til para poder acortar los nombres de los namespaces a la hora de hacer nuestras llamadas

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Espacio Global

Sin ninguna definicin de espacios de nombres, todas las definiciones de clases y funciones son colocadas en el espacio global - como si lo estuvieran antes de que PHP soportara los espacios de nombres Prefijar un nombre con \ especificar que el nombre es requerido desde el espacio global incluso en el contexto del espacio de nombres Para acceder a cualquier clase, funcin o constante globales, se puede usar un nombre completamente cualificado, como \strlen() o \Exception o \INI_ALL
Ing. Mauricio Mern - Curso PHP-Mod2-2012

Namespace Estructura de Archivos

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Namespace

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Namespace

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Namespace

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Namespace
Salida del Script

Ing. Mauricio Mern - Curso PHP-Mod2-2012

PECL
2012

PECL

PECL PHP Extension Community Library, provee extensiones PHP (escritas en C) Se las debe instalar (phpize, etc) la extensin para que trabaje con el motor Las extensiones son ms eficientes que hacer lo mismo en PHP Se tiene que tener permisos para realizar esto en el servidor (en los hosting no pasa esto generalmente)
Ing. Mauricio Mern - Curso PHP-Mod2-2012

PECL

Su direccin es http://pecl.php.net/ Ah se pueden buscar, bajar e incluso publicar alguna extensin que hayamos hecho

Ing. Mauricio Mern - Curso PHP-Mod2-2012

PEAR
2012

PEAR

PEAR PHP Extension and Application Repository PHP es un Repositorio de componentes de PHP (escritos en PHP) as como un sistema de distribucin Posee un manejador de paquetes que hace muy fcil la instalacin y configuracin, y tambin maneja las dependencias necesarias para ejecutar un componente Generalmente se usa por lnea de comandos
Ing. Mauricio Mern - Curso PHP-Mod2-2012

PEAR

Es muy fcil de instalar y existen numerosos tutoriales de cmo hacerlo en Internet Pear tiene una amplia gama de componentes PHP para facilitarle la vida al programador Su direccin es: http://pear.php.net/

Ing. Mauricio Mern - Curso PHP-Mod2-2012

Bibliografa
2012

Bibliografa

http://articles.sitepoint.com/article/typing-versus-dynamictyping Jansch,I., Guide to Enterprise PHP Development . php| architects. United States of America. 2008. Manual Oficial de PHP Doyle,M. Beginning PHP 5.3. Wrox. United States of America. 2010. http://www.fayerwayer.com/2010/02/facebook-aplica-ritmo-allenguaje-php-con-hiphop/
Ing. Mauricio Mern - Curso PHP-Mod2-2012

Anda mungkin juga menyukai