0 calificaciones0% encontró este documento útil (0 votos) 53 vistas40 páginasPHP
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 estadisticasCEs
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 y6 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
AAAor 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
AAA38 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.
AAA76 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.
AAAno 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
AAA16000 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
AAA2 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
AAA2 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
Manual PHP
Aún no hay calificaciones
Manual PHP
142 páginas
PHP
Aún no hay calificaciones
PHP
22 páginas
Qué Es PHP
Aún no hay calificaciones
Qué Es PHP
7 páginas
PHP Inicio
Aún no hay calificaciones
PHP Inicio
12 páginas
Resumen PHP
Aún no hay calificaciones
Resumen PHP
16 páginas
Guía
Aún no hay calificaciones
Guía
7 páginas
Pwfs13 PHP
Aún no hay calificaciones
Pwfs13 PHP
28 páginas
Infografia 
Aún no hay calificaciones
Infografia
1 página