0% encontró este documento útil (0 votos)
53 vistas40 páginas

PHP

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
53 vistas40 páginas

PHP

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF o lee en línea desde Scribd
eis VERSION ete PHP desde cero Sintaxis basica del lenguaje + Programacion orientada a Objetos + Manejo y control de errores + Uso de funciones + Programacion de graficas estadisticas CEs TITULO: PHP desde cero AUTOR: Francisco Minera COLECCION: Desde Cero FORMATO: 19x 15cm PAGINAS: 192 Copyright © MMXIV. Es una publicacién de Fox Andina en coedicién con DALAGA S.A. Hecho el depésito que marca la ley 11723. Todos los derechos reservados. Esta publicacién no puede ser reproducida ni en todo ni en parte, por ningtin medio actual o futuro sin el permiso previo y por escrito de Fox Andina S.A. Su infrac- cién est penada por las leyes 11723 y 25446. La editorial no asume responsabilidad alguna por cualquier consecuencia derivada de la tabricacion, funcionamiento y/o utlizacién de los servicios y productos que se descriven y/o analizan. Todas las marcas mencionadas en este libro son propiedad exclusiva de sus respec- ‘tos duefios. Impreso en la Argentina. Libro de edicién argentina. Primera impresién realizada en Sevagrat, Costa Rica 5226, Grand Bourg, Malvinas Argentinas, Pcia. de Buenos Aires en IV, MIMXIV. ISBN 978-987-1949-58-8 Minera, Francisco PHP desde cero /Francisco Minera ; coordinado por Gustavo Carballeiro. Ja ed. - Ciudad Autonoma de Buenos Aires : Fox Andina; Buenos Aires: Dalaga, 2014. 192 p. ; 19x15 cm. - (Desde cero; 34) ISBN 978-987-1949-588 1. Informatica. |. Carballeiro, Gustavo, coord. Il. Titulo cpp 004 >> [Link] EN NUESTRO SITIO PODRA ACCEDER AUNA PREVIEW DIGITAL DE CADA LIBRO Y TAMBIEN OBTENER, DE MANERA GRATUITA, UN CAPITULO EN VERSION PDF, EL SUMARIO COMPLETO E IMAGENES AMPLIADAS DE TAPA Y CONTRATAPA. RedUSERS | @ [Link] Nuestros libros incluyen guias visuales, explicaciones paso a paso, recuadros complementarios, ejercicios y todos los elementos necesarios para asegurar un aprendizaje exitoso. *S0LO VALIDO EN LA REPUBLICA ARGENTINA ff *#\VALIDO EN TODO El ® & Prélogo al contenido {Por qué elegir PHP como lenguaje para desarrollar aplica- ciones web? Existe un sinfin de respuestas para esta pregunta, y uno de los propésitos de este libro es contestarla a través del analisis de casos concretos, para que el lector pueda com- prender las caracteristicas que han hecho de este lenguaje uno de los mas populares en la actualidad. PHP se utiliza en todo tipo de aplicaciones, desde las mas simples hasta las mas complejas. Este hecho origina que se convierta en una de las opciones preferidas en el momento de comenzar desarrollos de cualquier clase. Otra cuestion interesante es su licenciamiento. En una época en que las em- presas buscan, por un lado, estar al corriente de los requisi- tos legales en cuanto a la utilizacion de software y, por otro, disminuir lo maximo posible los gastos de licencias y man- tenimiento, este lenguaje se presenta como una alternativa practicamente sin competidores. Mas alla de estas certezas, el principal objetivo de esta obra es ilustrar, de manera clara y practica, cuales son las caracteris- ticas y posibilidades de PHP, y describir su interaccién con las herramientas y tecnologias que lo rodean. Conocer cabalmente el escenario en el que se desempefan las aplicaciones web hoy en dia nos ayudara de manera determinante a sacar provecho de las ventajas que este lenguaje de programacién nos brinda. >> [Link] LOS MEJORES Seas Cee eur Deen ae ene wn) Mea ceecenenchskcicen Disc cteiaae Ea) oer LLEGAMOS A TODO EL MUNDO VIA »0<*Y! ECM WC Waele els) et ee EE yD me ue oleae Key Sone a eet en eo a sears y 6 PRELIMINARES El libro de un vistazo Conocer a fondo todas las caracteristicas y posibilidades que un lenguaje de programacion como PHP nos brinda es una tarea que requiere paciencia y aplicacién por parte del desarrollador. A lo largo de los siguientes capitulos, intentaremos ir asimilando, poco a poco, las técnicas y los métodos necesa- rios para sacar provecho de la potencia de este lenguaje. *O a4 AMBITO bay ss ici ty Re) Analizaremos las cuestiones y los requerimientos fundamentales para comenzat a desarrolar aplicaciones a través del lenguaje de programacién PHP. *O “ev SEN Oey PHP posee reglas estrictas que deberemos respetar para poder generar aplicaciones; en este capitulo, veremos las mas importantes: escritura de instrucciones, ‘manejo de variables, expresiones, insercion de comentarios, entre otras, ola ir Ne lee Sao La programacion orientada a objetos es una técnica muy difundida, adoptada or un gran numero de aplicaciones. >> [Link] vv En este capitulo, conoceremos sus caracteristicas fundamentales. *OZ Lud saad ere oly oy PHP pone a nuestra disposicién una serie de funciones incorporadas que nos permitiran solucionar la mayoria de las, necesidades mas habituales que surgen durante el proceso de desarrollo de una aplicacién, En este capitulo,estudiaremos algunas de las mas importantes. *O vv MANEJO Y CONTROL DE ERRORES Durante el periodo de desarrollo de tuna aplicacién, deberemos encontrar y remendar todos los posibles errores y falencias. En este capitulo, conoceremos el conjunto de opciones que brinda PHP con el objetivo de visualizar de manera clara las fallas localizadas, para luego oder solucionarlas, PHP DESDE CERO *Apn B au. ba Nello) Se) (ele Le En este primer apéndice veremos funciones adicionales para el manejo de archivos y el tratamiento de matrices, {que nos permiten cargar contenido en una pagina web y manipular datos variables, ya sea para el cAlculo 0 la administracion de informacion. weve f= LON WEB GENERACION DE GRAFICO: 5 En un sitio web, por lo general, deberemos manipular diferentes clases de imagenes y grafico. En este apéndice analizaremos como PHP nos permite controlar todos los aspectos referidos al tratamiento y ala generacién de imagenes. INFORMACION COMPLEMENTARIA Alo largo de este manual, podré encontrar una serie de recuadros que le brindaran informacion complementaria: curiosidades, trucos, ideas y consejos sobre los temas tratados, Para que pueda distinguirlos en forma mas sencilla, cada recuadro esta identificado con diferentes iconos: CURIOSIDADES: EIDEAS ATENCION DATOS UTILES YNOVEDADES WEB sitios [Link] << Contenido del libro Prélogo al contenido. El libro de un vistazo. Informacién complementaria.. Introduccion Ambito de desarrollo Aplicaciones web. Arquitectura cliente-servidor Sitios dinamico: Sitios estaticos contra sitios dindmicos...14 Tecnologias del lado servidor.. Servidores que soportan PHP. El lenguaje PHP Libre y de cédigo abierto. Facilidad de aprendizaje........ 18 Disponibiliad... Soportes diversificados. Comunidad de usuari Masividad. Desarrollo en una maquina local. Instalacién de las herramientas.. Instalar WAM Crear una pagina... ‘Administrar varios sitios web... Definir la pagina principal del sitio... Incluir c6digo PHP en documentos HTML.... 29 Extersiones del lenguaie. Ejemplo sobre fu Bibliotecas en PHP. PRELIMINARES Resumen . Actividades... 36 Sintaxis basica Introduccion. Instrucciones. 38 38 38 42 42 48 51 52 Numéricos...... ssticitiise 5B Cadenas de caracteres. 55 Matrices oe sssiinase ST Estructuras de control 39 Condicional o secuencial 60 Ciclos o estructuras repet 64 70 Variables. Constantes.. Expresiones. Comentarios.. Tipos de datos Booleanos Inclusion de archivos. Funcione: 70 Resumen . B Actividades... 4 et Orientacién a objetos Introducci6n. Pilares del modelo.. ‘Implementaci6n en PHP... PHP DESDE CERO Clases, propiedades y métodos. Atributos de las clases. Permisos de acceso. Constante... Constructores y destructores de clases... 84 Errores en clases, métodos y propiedades .87 Modificadores de acceso Propiedades y métodos estaticos. Herencia en PHP. Clases abstractas. Clonacién de objetos Comparacién de objetos.. Tipos de datos especiales Resumen Actividades Referencia de funciones Extensiones disponibles... Funciones para el manejo de sesiones... Funciones para el manejo de cookies Funciones para el manejo de fecha y hora, . ‘Tratamiento de cadenas de caracteres....133 Funciones matematicas. Resumen Actividades Manejo y control de errores Introduccién. Tipos de errores .. Ciclo de un sistema. Opciones de lenguaj Configuraciones posibles. Funciones del lengua Excepciones 1VoW, nna Funciones adicionales Funciones del sistema de archivos Funciones para el tratamiento de matrices Resumen Actividades ‘Vee ona Generaci6n de graficos Lallibreria GD phpThumb para imagenes dinamicas JpGraph para la generacion de graficos Graficos lineales Graficos de barra Graficos de torta Anillos Leds CAPTCHA Mapas HTML. Utilizacion de graficos en la caché Resumen Actividades [Link] << 10 ee PRELIMINARES Introduccion PHP se caracteriza por brindar al desarrollador una gran liber tad, algo que lo diferencia de otros lenguajes mas restringidos e inflexibles. Esta cualidad lo posiciona como un medio entre el desarrollador y la idea que persigue, es decir, el objetivo que desea plasmar a través del lenguaje. En este libro, nos proponemos transmitir su filosofia, y la mane- ra de construir y desarrollar aplicaciones. Sin duda, PHP mantiene una coherencia al respecto y, a medida que vayamos obteniendo experiencia, notaremos que hay un denominador comin en la manera de resolver cuestiones en principio muy diferentes. Algo que destaca al lenguaje es la curva de aprendizaje demandada para quienes quieren comenzar a especializarse en él: tiene una sintaxis simple y a la vez eficaz, que nos permite aplicar soluciones funcionales con pocas lineas de cédigo y en un tiempo reducido. Todas estas cuestiones explican el éxito y la consolidacién que ha tenido en los tiltimos afios. Debemos destacar que no se trata de una moda pasajera, sino de una realidad que lleva afios afianzandose y ampliando sus capacidades. En cuanto al lenguaje en si, los responsables actualizan sus caracteristicas y funciona- lidades en cada nueva version y toman en cuenta los pedidos de los propios desarrolladores. Esta comunicacion hace que el vin- culo entre la comunidad de usuarios se fortalezca cada dia y genere un compromiso que permita la evolucion. ‘Transmitir un lenguaje en su totalidad es imposible, por eso lo que buscamos es dar a conocer las caracteristicas de PHP, los puntos fuertes que lo distinguen y lo posicionan como una de las alternativas mas viables, en la actualidad, en lo que atahe al desarrollo de aplicaciones web. >> [Link] Ambito de desarrollo En este capitulo, haremos un recorrido por las principales caracteristicas que hacen de PHP un lenguaje popular y robusto para el desarrollo de aplicaciones web profesionales. Pero antes de comenzar con este lenguaje, repasaremos algunos conceptos fundamentales, que debemos tener presentes sobre las aplicaciones web. Aplicaciones web. ‘EI lenguaje PHP. ‘y Desarrollo en una maquina local ..21 AAA or ea 1, AMBITO DE DESARROLLO Aplicaciones web Mientras transcurren los afios, surgen distintos tipos de aplicaciones que se adaptan a los diferentes dispositivos que encontramos en el [Link]- niendo esto en cuenta, podemos clasificar las aplicaciones en: portatiles, de escritorio y web (dentro de esta categoria, hay subgrupos de aplicaciones). En la actualidad, la integracion de plataformas nos lleva a unificar una gran variedad de portales. Por ejemplo, una aplicacion de escritorio pue- de tener una interfaz web o, a partir de un mismo lenguaje, es posible desarrollar una aplicacion y, luego, definir si sera accesible a través de un navegador o si sera instalada en el equipo personal del usuario. Durante el desarrollo de este libro, analizaremos cuales son los alcances de PHP como lenguaje. Antes repasaremos algunas nociones sobre las aplicaciones web. Arquitectura cliente-servidor Este concepto manejado en varias aplicaciones y particularmente en las de interfaz web, puede definirse como un juego de peticiones y respuestas. Un cliente requiere una acci6n (por ejemplo, a través de un enlace), y el servidor deber, por un procesamiento, resolver la demanda y devolver una respuesta. La aplicacién cliente por excelencia es el navegador web: desde esta clase de programas accedemos a la interfaz del sistema para interactuar con él. (1) Mae Para obtener material adicional gratuito, ingrese a la seccién Publicaciones/Libros dentro de [Link] Ali encontrard todos nuestros titulos y podra acceder a contenido extra de cada uno, como sitios web relacionados, programas recomendados, ejemplos utlizados por el autor, apéndices, archivos editables o de codigo fuente, Todo esto ayudar a comprender mejor los conceptos desarrollados en la obra. >> [Link] PHP DESDE CERO ce 13 Base de datos Procesador PHP —-Documento Clientes oD final HTML navegadores web Documento Peticién de solicitado 4 pagina web Peticiones sin PHP Peticlones con PHP Paginas web en el servidor Figura 1. Esquema de funcionamiento cliente-servidor. En el servidor tendré lugar una serie de alternativas que desembocara, finalmente, en la construccién de una respuesta comprensible para el clien- te. Entre estas alternativas, es posible incluir el tratamiento de la respuesta a través de un lenguaje de programacién, por ejemplo, la extraccién de in- formacion desde una base de datos, entre muchas otras. Definimos a las peticiones desde un navegador como peticiones web, que son resueltas por los llamados servidores web. Las aplicaciones (Apache e IIS son los exponentes mas conocidos) se encargan de generar las respuestas y para eso se valen, en los casos en los que es necesario, de otros actores como los mencionados antes: servidores [Link] << 4 ea 1, AMBITO DE DESARROLLO de bases de datos (Oracle, SOL Server, MySQL, PostgreSQL, por ejemplo) y lenguajes de programacion (PHP, [Link], JSP, 0 PERL, entre otros). Sitios dinamicos Dentro de las aplicaciones web, podemos diferenciar entre sitios dina- micos y sitios estaticos. Un lenguaje de programacién como alguno de los ya citados nos da la posibilidad de modificar, en tiempo real, la respuesta enviada al cliente sin tener que variar el cédigo de la pagina. Pongamos como ejemplo un sitio que incluye un catalogo de productos: si utilizaramos paginas estaticas, deberiamos crear un archivo diferen- te por cada producto. En cambio, con los lenguajes de programacion y al obtener la informacion particular de cada elemento desde una fuente determinada (por ejemplo, una base de datos), solo necesitariamos con- tar con un archivo cuyo contenido dindmico (nombre del producto, foto, descripcién, etc.) seria modificado tomando como referencia la peticién de [Link] la siguiente linea: [Link] En este caso, lo que encontramos después de .../[Link] es la parte dinamica del enlace, donde idProducto es una palabra que le asignamos a cierta informacion y =10 es su identificador dentro de un conjunto de datos. Sitios estaticos contra sitios dinamicos Un sitio estatico es aquel que no utiliza lenguajes dinamicos y devuelve la misma respuesta siempre, mas alla del tipo de peticién. En cambio, un sitio dinamico es aque! que modifica su comportamiento sobre la base de los ingresos del usuario. Una de las ventajas principales del uso de algunas herramientas, como lenguajes de programacion del lado servidor, bases de >> [Link] Sintaxis basica En este capitulo, haremos un recorrido por las caracteristicas principales de PHP como lenguaje de programaci6n y nos adentraremos en el conocimiento de las herramientas que brinda para implementar aplicaciones, entre ellas: las instrucciones, las variables, las constantes, las expresiones, los comentarios y las funciones. Inclusién de archivos. 70 aS Funciones [Link] 38 Constantes... Expresiones Comentario TIPOS de datOS nerrrieneennnrneee SD. Estructuras de control. 9 AAA 38 ea 2. SINTAXIS BASICA Introduccion A continuacién, veremos cuales son algunas de las alternativas mas habituales con las que contamos para escribir cédigo PHP y para generar aplicaciones web robustas y a la vez versatiles. Al lo largo de los proximos apartados, profundizaremos en cada opcién disponible. Instrucciones Las instrucciones en PHP finalizan con un ; (punto y coma), también se reconoce como equivalente a la etiqueta de fin de bloque ?> (signo de interrogacién de cierre y signo mayor). Un script PHP tiene las siguientes delimitaciones: > [Link] PHP DESDE CERO ce 39 Otros no validos: $1; $666; $-variable $2variable S'variable $>variable $evariable Para asignar valores a las variables contamos con el operador = (igual) $variable = 10; $variable = 10.99; $variable = "Cadena de caracteres”; $variable = Cadena de caracteres’; oh 4 nce pe 3 copyright 1) 2000 the yep Group + ual duppoetpighb com © g1at [Link],¥ [Link] 2006/01/28 11918130 opium Bap § + me progean 12 sree sorevares you can eectetettute 2 and/or asctsy + Gt mer the seme of the GW Geoeral Fublic License as published by + the Pree Software Foundatien: either vection 2 of the Livenst, of 2 [GE poor optsen| uy Later seeasom eave! PUB, eave) Figura 1. Utilizar un editor que reconozca cédigo PHP nos permitira escribir aplicaciones de manera segura y encontrar errores sintacticos rapidamente. [Link] << 40 ea 2. SINTAXIS BASICA Para imprimir valores de variables 0, incluso, que no han sido asigna- dos a variables en pantalla, contamos con algunas alternativas © Laconstruccién echo recibe como argumentos variables o valores sepa- rados por comas y los muestra como salida: $variablel = “Hola “; $variable2 = "a"; $variable3 = “todos”; echo $variablel,$variable2; echo $variable: © Print recibe como argumento una cadena de caracteres: $variable = “Hola a todos”; print($variable); El lenguaje PHP nos permite modificar el nombre de las variables, algo conocido como variables variables. Para lograrlo, debemos utili- zar dos signos $ en lugar de uno. > [Link] Orientacion a objetos En este capitulo, analizaremos el paradigma orientado a objetos, implementado a través de PHP, una técnica que, utilizada en multiples desarrollos, es preciso conocer para beneficiarnos de las capacidades del lenguaje. Haremos una introducci6n al paradigma, conoceremos los pilares del modelo y, luego, veremos su implementacion en PHP. ae vyintroduccién. ‘yImplementacién en PHP. AAA 76 ea 3. ORIENTACION A OBJETOS a Introduccion Lo primero que debemos decir es que la orientacién a objetos no es una técnica propia de PHP, sino una implementacién de un paradigma, solo una entre tantas. A diferencia de otros lenguajes, en PHP, la incorporacion de la orienta- cion a objetos no fue sdlida desde el principio, sino que fue moldeandose a medida que surgian las nuevas versiones. Recién en la versién 5, se al- canzé el grado de madurez necesario para que los programadores pudie- ran aplicar sus conocimientos de la POO (programacién orientada a obje- tos) al lenguaje. Figura 1. Pilares fundamentales de la programacién orientada a objetos. Pilares del modelo Si observamos otros lenguajes con historia en este campo (como por ejemplo, Java, C# y Python), notaremos que los desarrolladores a cargo de la ampliacién de PHP comenzaron a idear y plasmar la orientacién a objetos de manera gradual. Cada paso llevo su tiempo, pero los resultados estan a la >> [Link] PHP DESDE CERO ce 7 vista, ya que se ha logrado una evolucién que permite, a quien quiera de- sarrollar con esta técnica, hacerlo sin problemas contando con la mayoria de sus caracteristicas y cualidades. Un punto importante es que la POO es un modo de Ilevar adelante un de- sarrollo. Como todo, tiene sus ventajas y desventajas, pero es una alternativa a la que tenemos la libertad de acceder. Esto siempre queda a nuestro criterio segiin nuestras necesidades. Conocer sus principios basicos nos ayudara a comprender e, incluso, a interactuar con aplicaciones ya desarrolladas que utilizan este paradigma. Nos referimos a cualquier tipo de aplicacion: desde las mas simples hasta las mas complejas. Podemos obtener mas informacion en el sitio oficial de PHP, en la seccién [Link]/oop5, donde se enume- ran las caracteristicas de la POO en las versiones mas actuales del lenguaje. Implementacion en PHP A continuacién, veremos cémo implementar la orientacién a objetos des- de PHP. Tomaremos como base las versiones mas recientes del lenguaj Clases, propiedades y métodos Podriamos definir una clase como una plantilla o molde desde el cual generar objetos, es decir, a partir de un esquema con caracteristicas bien (U) MODULOS: Debemos saber que una clase puede ser instanciada dentro de otra, algo que nos wee permite vincular y modular aplicaciones de manera sencilla. Pensemos en este hecho como una forma de dividir la carga de trabajo: una clase puede ocuparse de una tarea especifica, y las demas, de otras. [Link] << 78 ea 3. ORIENTACION A OBJETOS establecidas, es posible crear un niimero N de instancias. Veamoslo de la siguiente manera: contamos con una clase gato que podria llegar a tener distintas instancias (Garfield, Tom, Silvestre, etcétera). La ventaja de esto es que la clase es una abstraccién de las instancias particulares, y podemos definir solo una estructura de lugar de N. Cada instancia se di- ferenciara de las demds a partir de la modificacion de las caracteristicas disponibles en la clase original. La estructura de una clase contiene dos elementos basicos: variables y funciones (declaradas mediante la palabra reservada function). La definicion de una clase dentro del cédigo PHP se reconoce al iniciar una linea con la palabra reservada class. Veamos un ejemplo: Atributos de las clases Cada clase puede contar con sus propios atributos, por ejemplo, un gato tiene un nombre, una raza, una edad, etcétera. Estos atributos o propiedades se definen, dentro de la clase, de la siguiente manera: > [Link] @ 74 Referencia de funciones En este capitulo, conoceremos algunas de las funciones disponibles en la version base de PHP, que utilizaremos de manera frecuente en nuestro trabajo diario como desarrolladores. Entre ellas, las funciones para el manejo de sesiones, de cookies y de fecha y hora, las matematicas y aquellas para el tratamiento de cadenas de carecteres. Extensiones disponibles. 110 Tratamiento de cadenas US Funciones para el manejo de caracteres.. 152 de sesiones... 112 Funciones matematicas Funciones para el manejo de cookies... ‘Resumen. 157 Funciones para el manejo de fecha y hora. vActividades. AAA no 4. REFERENCIA DE FUNCIONES Extensiones disponibles La variedad de extensiones disponibles a través de PHP es inmensa y es uno de los puntos mas fuertes del lenguaje. Veamos la siguiente tabla: FUNCIONES Y EXTENSIONES DISPONIBLES PARA PHP Acceso directo a E/S Apache BBCode Caché Cadenas de caracteres Calendario Capa de abstraccién Cifrado Merypt Clases/Objetos de bases de datos COM y .Net Compresién Bzip2 Compresién Zlib (para plataformas Windows) Control de procesos Control de salida Correo Cracking CURL (Client URL Library) DB++ DBase Dbx Depurador avanzado de PHP Directorio Dom DOM XML Expresiones regulares Fecha y hora filePro Firebird/nterBase Friibi FrontBase FIP GeolP Gestion de errores yregistros Gestion de funciones Haru PDF Functions HTTP Hyperwave IBM DB2 conv lis Imagenes Imagick (Image Library) IMAP, POP3 y NNTP Impresora Informix >> [Link] PHP DESDE CERO mL FUNCIONES Y EXTENSIONES DISPONIBLES PARA PHP [conTINUACION) Ingres Il Integracién de Java y PHP IRC JSON LDAP Libxmi Lotus Notes Manejo de archivos Zip Manejo de sesiones Matemdticas Matematicas de precision arbitrariaBCMath Matrices Memoria compartida Mhash Microsoft SQL Server Mimetype Miscelénea msqh MySQL MySQLi opBc OpenssL Oracle Para compilador Bytecode de PHP POF PostgreSQL PostScript Rar Red Secuencias Shockwave Flash SimpleXML Sistema de archivos SNMP SOAP Sockets SPL (Standard PHP Library) SQLite Subversion Sybase Tor Tidy Tipo de caracter Tratamiento de etiquetas ID3 Unicode URL Verisign Payflow Pro WoDx XML XMLReader XMLRPC XMLWriter XSL xsiT Tabla 1. Algunas de las funciones principales para utilizar desde PHP. [Link] << i Ge 4. REFERENCIA DE FUNCIONES Estas son solo algunas opciones; el lenguaje aumenta el ntimero de ex- tensiones en cada versién y perfecciona las ya existentes. En el manual de PHP, podemos encontrar mas de ciento cincuenta extensiones documenta- das de acuerdo con varios criterios. En muchas ocasiones, los programa- dores con experiencia se sorprenden al saber de cualidades de una exten- sién poco conocida, que les ayuda a resolver un problema especifico de manera rapida y sin complicaciones. En los siguientes apartados, veremos algunas de las funciones mas utilizadas a diario por los desarrolladores, aquellas que nos permitiran sacar provecho de las virtudes del lenguaje y que, por su facilidad de uso, nos dan la posibilidad de resolver diferentes cuestiones generales acerca de algtin inconveniente. Funciones para el manejo de sesiones Las llamadas variables de sesion nos permiten mantener el valor de las variables a lo largo de las distintas paginas que visitamos en un mismo servidor. Hay muchos casos en los que podemos observar en funciona- miento el trabajo con sesiones. Pensemos en un sitio que requiere que el usuario ingrese ciertos datos (por ejemplo, nombre de usuario y contra- sefia) para validar su acceso al sistema. Si hay coincidencia (la informa- cion podria compararse con una base de datos), se inicializa (es decir, se asigna un valor en particular) una variable de sesion. El lenguaje PHP almacena las variables de sesion en un array denominado $_SESSION. Su forma de uso es la siguiente: > [Link] Manejo y control de errores En este capitulo, conoceremos de qué manera PHP puede ayudarnos, a través de diferentes funciones y configuraciones, a observar de manera detallada los errores que pueden encontrarse dentro de un script. Para esto, analizaremos las configuraciones posibles del lenguaje y los distintos tipos de errores que pueden producirse. am 10S vyintroduccién. 162 ‘Opciones del lenguaje Register global: 187 AAA 16000 GE 5. MANEJO Y CONTROL DE ERRORES Introduccion Es indudable que, para lograr aplicaciones robustas y estables, prime- ro debemos someterlas a numerosas pruebas para verificar su integridad y corregir aquellas falencias que vayamos encontrando durante las dis- tintas revisiones. Uno de los aspectos mas importantes a la hora de desarrollar sistemas es la posibilidad de detectar y corregir los errores o fallas que puedan surgir y, para esto, PHP pone a nuestra disposicion una variada serie de herramientas que nos permitiran mantener un control pormenorizado de ellos. A lo largo de este capitulo, analizaremos las principales alternativas para obtener informacién adicional acerca de los errores y las adverten- cias surgidos durante la ejecucion de un script. Tipos de errores Es posible encontrar dos clases de errores: por un lado, los que se generan en las funciones predefinidas del lenguaje y, por otro, los que ocurren en las distintas configuraciones especificadas en los archivos dis- ponibles a través de la distribucién de PHP. Al mismo tiempo, podemos clasificar los errores en dos grupos principales: los relacionados con el intérprete y los especificos del codigo que estamos escribiendo. PHP nos provee funcionalidades para ambos casos. Be eee el eee Es necesario destacar que el manejo de errores se encuentra orientado a cualquier clase de aplicacién, en forma independiente de su alcance o de su propésito inicial. La robustez de un sistema no esta relacionada, necesariamente, con la cantidad de usuarios que lo utiizan ni con cual es su finalidad. >> [Link] PHP DESDE CERO ca él Dentro del primer grupo, podemos citar los errores que se producen al intentar cargar una determinada extension o los que tienen lugar por la au- sencia de un determinado archivo esencial para el funcionamiento del intér- prete. Los errores relacionados con la escritura del cédigo probablemente se deban a la utiliza- cidn de funciones no definidas 0 a problemas UN SISTEMA NO de la sintaxis demandada por el lenguaje en si. DEBERIA SUFRIR GRANDES CAMBIOS Ciclo de un sistema MIENTRASIESTA El ciclo de un sistema esta compuesto por EN PRODUCCION varias fases que dependen del punto de vista desde el cual se lo analice. En el caso especifico de los errores, podriamos categorizar dos pun- tos bien diferenciados: por un lado, la etapa de desarrollo y, por otro, la de produccién. Durante el desarrollo de una aplica- ci6n, se realizan todas las pruebas y modificaciones que creemos necesarias para perfeccionar el funcionamiento y lograr que los resultados obtenidos se acerquen lo mas posible a lo planteado en un principio. Una vez conclui- da esta etapa, el siguiente paso sera publicar el sitio y hacerlo accesible a los usuarios que lo utilizaran. Idealmente, un sistema no deberia suftir mo- dificaciones drasticas mientras esta en produccién. Etapa de desarrollo |} > Mensajes habilitados Etapa de produccin | > Mensajes deshabilitados Figura 1. Seguin la etapa de desarrollo en la cual nos encontremos, deberemos optar por una politica para la exhibicién de mensajes de error y advertencias, [Link] << 100 Ge 5. MANEJO Y CONTROL DE ERRORES Opciones del lenguaje Dentro de lo que es el lenguaje en si, PHP cuenta con una serie de herra- mientas que nos permitiran aspirar a mantener aplicaciones libres de erro- res a un bajo costo. Esto se debe a su potencia y claridad, y a que brinda grandes posibilidades para el control y la solucién rapida de posibles fallas en los sistemas. Veremos cémo el lenguaje mantiene su filosofia de simplifi- car los procesos de desarrollo al darle una libertad extrema al programador, pero, a la vez, limitando esos margenes cuando cree conveniente hacerlo. Configuraciones posibles PHP incluye en su distribuci6n oficial un archivo de configuracién deno- minado [Link], desde el cual podremos definir, en gran parte, el comporta- miento del intérprete en variadas situaciones. Este archivo esta compuesto por directivas de configuracién, que tienen asignados valores: nombre_directiva = valor Las lineas que comienzan por un ; (punto y coma) se toman como comentadas, es decir, el intérprete PHP no las tendra en cuenta. En los servicios de alojamiento (proveedores de hosting), este archivo, wee Las caracteristicas de PHP hacen que el programador se sienta libre en lo que respecta a cémo escribir el cédigo de las aplicaciones porque cuenta con una gran cantidad de opciones. Esto es una ventaja por un lado, pero por otro nos obliga a mantener una linea en cuanto a cémo conservar desarrollos prolijos y comprensibles. >> [Link] Funciones adicionales En este apéndice, veremos algunas funciones adicionales que nos permiten, por ejemplo, el manejo de archivos y el tratamiento de matrices en el lenguaje PHP. Ambas nos seran utiles para cargar contenido en una pagina web y manipular datos variables, ya sea para el calculo o la administraci6n de informacién. ‘yFunciones del sistema de archivos... yFunciones para el tratamiento de matrices.. 22 AAA 2 Gea APENDICE A. FUNCIONES ADICIONALES a Funciones del sistema de archivos En una aplicacion web es usual interactuar con archivos y directorios, por ejemplo: galerias de imagenes, videos subidos por los usuarios, gene- racion de graficos para descarga, todas ellas actividades muy frecuentes. A continuacion, haremos un recorrido por algunas de las funciones mas importantes que PHP pone a disposicién para manipular archivos y carpetas desde nuestros scripts. Hay una directiva en el archivo de configuracién [Link] que sera de gran ayuda en el momento de interactuar con archivos remotos, es decir, aquellos que se encuentren en otros servidores. Se trata de allow_url_fopen, que puede estar habilitada (On) o deshabilitada (Off). allow_url_fopen = On Veamos, como primera medida, las funciones habituales para abrir, leer y cerrar un archivo. La funcién fopen recibe dos argumentos principales: el nombre del archivo (incluida la ruta hacia él) y el modo de apertura. <2php $fd = fopen(‘archivos/[Link]’, ‘r’); ?> El segundo argumento nos permite indicar cual sera el tipo de acceso al archivo: solo lectura, lectura y escritura, etcétera. Observemos cuales son las posibilidades >> [Link] PHP DESDE CERO 3 TIPOS DE ACCESO A_LOS ARCHIVOS R Apertura para solo lectura t+ Apertura para lectura y escritura, w ‘Apertura para solo escritura we Apertura para lectura y escritura. Si el archivo existe, elimina su contenido y, sino existe, intenta crearlo. A ‘Apertura para solo escritura, at ‘Apertura para lectura y escritura. Si el archivo existe, no se elimina ‘su contenido (el contenido que luego ingresemos se agrega al final) y, Sino existe, intenta crearto. x Creacién y apertura para solo escritura. Si el archivo existe, genera un etror y, sino existe, intenta crearlo. x Creacién y apertura para lectura y escritura. Siel archivo existe, genera un error y, sino existe, intenta crearlo. SS Tabla 1. Modos de apertura disponibles para fopen. El archivo [Link] mantiene una directiva denominada include_path, que se utiliza cuando se incluyen o se abren archivos 0 directorios. En el caso de fopen, si intentamos abrir un archivo y no indicamos su ruta: [Link] << APENDICE A, FUNCIONES ADICIONALES PHP intentara buscarlo en los directorios definidos en esta directiva: include_path = “.;C:\wamp\php\pear” Para que fopen utilice esta funcionalidad, debemos ingresar un tercer argumento al asignar el valor true 0 1: <2php $fd = fopen(‘[Link]’, 'r’, true); D> Esta funcién devuelve lo que se llama un descriptor de archivo, que sera de utilidad al intentar realizar otras operaciones sobre el archivo, por ejemplo, leer su contenido. Luego de finalizar el trabajo con el archivo, para cerrarlo usamos la funcién felose de la siguiente manera: fclose($fd); wu (1) Sed En caso de que estuviéramos trabajando en plataformas Windows, deberiamos esca- par las barras invertidas utilizadas en la ruta al archivo. Para lograr esto, podemos utilizar la funcion addslashes, que veremos mas adelante en este capitulo, en la sec relativa a las cadenas de caracteres. >> [Link] Generacion de graficos La inclusion de graficos en aplicaciones web es habitual, y el numero de librerias que nos permiten agilizar el proceso de generaci6n y manipulaci6n de imagenes crece dia a dia. Observaremos como funcionan algunas de ellas y analizaremos en qué aspectos pueden favorecer nuestros desarrollos. La libreria GD... phpThumb para imagenes dinamicas. JpGraph para la generacién de graficos....14 AAA 2 Gea APENDICE B, GENERACION DE GRAFICOS SM La libreria GD El lenguaje PHP provee una extensién para utilizar la libreria GD ([Link]/gd) a través de funciones predeterminadas. Esta libreria se utiliza sobre todo para generar graficos en tiempo de ejecu- cin. Permite dinamizar las salidas valiéndose de los ingresos de los usuarios 0 de datos almacenados en bases de datos 0 archivos de configuracion. Para su correcto funcionamiento, GD requiere que contemos con PHP version 4.3.2 0 superior (la libreria viene incluida en la distribucion estandar). Ademas, debera estar habilitada en el archivo [Link] extension=php_gd2.dll Para comprobar si disponemos o no de la libreria, tenemos varias opciones: © Utilizar la funcién phpinfo <2phpphpinto); 2> © Verificar que esté habilitada alguna de las funciones de extension: ’; print_r(gd_info()); echo ‘’: delse { echo “GD no esta disponible !”; } & >> [Link] PHP DESDE CERO ce 3 En instalaciones que requieren la compilacion de PHP, deberan estar incluidas las siguientes opciones: --with-gd ~-with-jpeg-dir=/usr --with-png —-with-ttf Para verificar que nuestro sistema cuenta con estas alternativas habili- tadas, nuevamente disponemos de la salida de la funcién phpinfo. © ft | O view-sour 1 array 2} t 3 [GD Version] => bundled (2.0.34 compatible) 4 [FreeType Support] => 1 (FreeType Linkage] => with freetyps (TiLib Support] => 1 [GIF Read Support] => 1 @ [GIF Create Support] => 1 4 [JPG Support] 0 [PNG Support] " [WEEP Support] => 1 2 [ZPE Support] 1” [ZBE Support] 4 [J1zwapped Japanese Font Support] —> Figura 1. La funcién gd_ info devuelve informacion acerca del soporte brindado por nuestro sistema con relacién a GD. GD nos permite manipular diversos formatos de imagenes. Debemos tener en cuenta que esto dependera de la version instalada; por ejemplo, las anteriores a la 1.6 admiten GIF, pero no PNG, y lo in- verso sucede con las superiores. Algunos de los formatos mas popula- res soportados por GD son los siguientes [Link] << 4 Gea APENDICE B, GENERACION DE GRAFICOS GIF (CompuServe Graphical Interchange Format). JPG (0 JPEG, Joint Photographic Experts Group). PNG (Portable Network Graphics 0 PNG is Not GIF). En las paginas siguientes, veremos algunas de las multiples librerias escritas en PHP que hacen uso de GD para manipular imagenes. phpThumb para imagenes dinamicas La libreria phpThumb se utiliza para crear y manipular imagenes (GIF, PNG o JPEG) de manera dinamica. Aprovecha las caracteristicas mas avan- zadas de la version 2 de GD, aunque también es posible trabajar utilizando versiones anteriores. Trabaja con imagenes GIF aun cuando la version de GD instalada en el servidor no soporte este formato (lo hace a través de la clase GIFutil). Ademas, mantiene un mecanismo para evitar el uso de la libreria desde sitios externos o mostrar las imagenes almacenadas (hotlinking). Podemos obtener mas informacién y descargar esta herramien- ta desde el sitio web oficial: [Link] Lo primero que debemos hacer, luego de descargar la distribucion y copiarla a un directorio del servidor, es renombrar el archivo phpThumb. [Link] a [Link]. La libreria se utiliza a través de una llamada al archivo [Link], que recibe una serie de parametros y devuelve el resultado correspondiente, es decir, la imagen generada. wee 6) Pe eee ae We ay Normalmente, los servicios de alojamiento web (hosting) dan soporte para la utiliza- ci6n de la libreria GD, por lo que no deberlamos tener inconvenientes para migrar apli- caciones entre un servidor y otro. De todas maneras y para evitar futuros problemas, es conveniente asegurarnos antes de realizar la contratacién. >> [Link] ' Puedes comprar este impreso o en formato eBook u optar por algunos de los titulos que conforman la biblioteca USERS. En encontraras las Ultimas novedades y material informativo de cada titulo, que te ayudara a decidir la compra. iRecibe promociones semanales exclusivas en tu ® [Link] LLEGAMOS A TODO EL ON en Bana lid id Eehewe la ‘+54 (011) 4110-8700 ——=—=«_ USershop@[Link] PHP cesde cero Presentamos un libro para iniciarnos en el mundo de la programacién web por medio de un lenguaje flexible y de facil aprendizaje como PHP. A lo largo de los capitulos desarrollaremos la teoria necesaria y, mediante ejemplos sencillos, comenzaremos a programar sitios web profesionales. La obra incluye ejercicios paso a paso y material extra para descarga, disponible en el sitio web de la editorial. Dentro del libro encontrara*: Ambito c Otros titulos de la coleccién: [ees [ee [os g B Java # PHP+ygé Programacisn esde cero g Cesde ceo. desde cero se fy Lt uy ISBN 970-967-1949-50-6 [Link] PROFESOR EN LINEA Enmuesto sto podra encontrar notices Ante cuelquer consulta teonica relacionadas y tambien pantoper relacionada con el bro, puede RU de la Gormunidad de tecnologia mia ‘contactarse con nuestros expertos: importante de América Latina. profesor@[Link]. 9 789871"949588" >

También podría gustarte