Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Manual PHP 5
Manual PHP 5
www.desarrolloweb.com
Manual de PHP 5
Autores del manual
Este manual ha sido realizado por los siguientes colaboradores de DesarrolloWeb.com:
Miguel Angel Alvarez
Director de DesarrolloWeb.com
http://www.desarrolloweb.com
(1 cap!tulos"
Daniel Lpez
http://pichongol.blogspot.com
(1 cap!tulo"
Manu Gutierrez
http://www.tu#uncion.com
($ cap!tulos"
Manual de PHP 5: http://www.desarrollowe.!om/manuales/5"/
% &os manuales de DesarrolloWeb.com tienen el copyright de sus autores. 'o reproducir sin autorizaci(n.
1
Tu mejor ayuda para aprender a hacer webs
www.desarrolloweb.com
Introduccin a PHP 5
)amos a comenzar con el manual de la *ltima +ersi(n de ,-,. lanzada recientemente al
mercado: ,-, /. 0na esperada e+oluci(n del. tal +ez. m1s popular de los lenguajes de
programaci(n de p1ginas y aplicaciones web del lado del ser+idor.
Este manual no +a a tratar de e2plicar desde cero la programaci(n de aplicaciones del lado del
ser+idor con ,-,. pues ese asunto lo tenemos detallado en el manual de ,-, y pensamos 3ue
merece la pena su lectura para empezar los primeros pasos en el lenguaje.
4i una persona no sabe lo 3ue son las p1ginas din1micas de ser+idor le recomendamos 3ue
comience aclarando esos conceptos. ,ara ello. tenemos dos manuales 3ue e2plican las
nociones de programaci(n del lado del cliente y ser+idor. m1s bien te(ricas. desde dos puntos
de +ista: 5anual de p1ginas din1micas y la 6ntroducci(n a los lenguajes del web.
7simismo. 3ueremos presentarte la secci(n monotem1tica de ,-,. donde se concentran todos
los contenidos sobre ,-, 3ue dispone DesarrolloWeb.com. Tambi8n ser!a interesante el 5anual
del lenguaje 49& y el Taller de 5y49&. 3ue ser1n muy *tiles re#erencias para aclarar los
conceptos de acceso a bases de datos.
#ntrodu!!in a PHP 5
:on las primeras $ +ersiones de ,-,. ,-, ; y ,-, <. se hab!a conseguido una plata#orma
potente y estable para la programaci(n de p1ginas del lado del ser+idor. Estas +ersiones han
ser+ido de mucha ayuda para la comunidad de desarrolladores. haciendo posible 3ue ,-, sea
el lenguaje m1s utilizado en la web para la realizaci(n de p1ginas a+anzadas.
4in embargo. toda+!a e2ist!an puntos negros en el desarrollo ,-, 3ue se han tratado de
solucionar con la +ersi(n /. aspectos 3ue se echaron en #alta en la +ersi(n <. casi desde el d!a
de su lanzamiento. 'os re#erimos principalmente a la programaci(n orientada a objetos (,=="
3ue. a pesar de 3ue estaba soportada a partir de ,-,;. s(lo implementaba una parte muy
pe3ue>a de las caracter!sticas de este tipo de programaci(n.
$ota: la orientaci(n a objetos es una manera de programar 3ue trata de modelar los procesos de
programaci(n de una manera cercana a la realidad: tratando a cada componente de un programa como
un objeto con sus caracter!sticas y #uncionalidades. ,odemos +er una pe3ue>a introducci(n en el art!culo
9u8 es la programacion orientada a objetos.
El principal objeti+o de ,-,/ ha sido mejorar los mecanismos de ,== para solucionar las
carencias de las anteriores +ersiones. 0n paso necesario para conseguir 3ue ,-, sea un
lenguaje apto para todo tipo de aplicaciones y entornos. incluso los m1s e2igentes.
Artculo por Miguel Angel Alvarez
Instalar PHP 5 fcilmente
,ara los 3ue han instalado alguna +ez ,-, en Windows sabr1n 3ue es un proceso 3ue re3uiere
Manual de PHP 5: http://www.desarrollowe.!om/manuales/5"/
% &os manuales de DesarrolloWeb.com tienen el copyright de sus autores. 'o reproducir sin autorizaci(n.
$
Tu mejor ayuda para aprender a hacer webs
www.desarrolloweb.com
+arios pasos. -ay 3ue instalar el ser+idor web 7pache. luego el propio ,-, y tambi8n la base
de datos 5y49& para trabajar con ,-,. En ,-, / la cosa contin*a igual. pero e2iste un m8todo
r1pido y sencillo de instalar ,-,/ en nuestro sistema.
,ara los 3ue no han instalado nunca ,-,/ hay 3ue comentar 3ue no tengan miedo para nada
al lenguaje. 3ue es muy sencillo y agradecido. 'o cabe tampoco tener miedo de la instalaci(n
o con#iguraci(n de ,-,. por3ue en este art!culo +amos a e2plicar un modo de realizarla en /
minutos y sin necesidad de conocimientos iniciales.
=s paso unas notas r1pidas sobre el proceso de instalaci(n de ,-, / en Windows por medio de
un programa 3ue se llama Wamp 4er+er $. 3ue os #acilitar1 la tarea. ,odr1s comenzar a
trabajar con ,-, / en / minutos??
#nstala!in de PHP 5
&o primero es entrar en la p1gina de Wamp 4er+er. 3ue es la siguiente:
http://www.wampser+er.com/en/
:omo hab!a comentado. Wamp 4er+er es un programa 3ue instala en un s(lo paso 7pache @
,-, @ 5y49& y los con#igura para trabajar juntos.
-abr!a 3ue hacer la descarga de la *ltima +ersi(n de Wamp 4er+er en:
http://www.wampser+er.com/en/download.php
En la p1gina de descarga te especi#ica claramente la lista de programas 3ue +a a instalar. as!
como las +ersiones de los mismos. En el momento de escribir este art!culo iban por la +ersi(n
Wamp4er+er $.A. 3ue instala esta lista de programas:
7pache $.$.B
,-, /.$. @ ,E:&
49&itemanager
5y49& /.A./1b
,hpmyadmin
0na +ez descargado el programa. lo ejecutamos para realizar la instalaci(n de Wamp 4er+er $.
&a instalaci(n se basa en un asistente normal 3ue nos solicitar1 +arios datos t!picos de
instalaciones. como 3ue aceptemos los t8rminos de la licencia. &uego nos saldr1 la +entana
para acabar 3ue marcaremos 3ue ejecute Wamp 4er+er inmediatamente.
4i todo ha #uncionado. en 1 minuto m1s podremos comprobar si ,-, / est1 #uncionando en
Manual de PHP 5: http://www.desarrollowe.!om/manuales/5"/
% &os manuales de DesarrolloWeb.com tienen el copyright de sus autores. 'o reproducir sin autorizaci(n.
;
Tu mejor ayuda para aprender a hacer webs
www.desarrolloweb.com
nuestro ordenador. 4(lo tendr!amos 3ue encender los ser+icios. ,ara ello Wamp 4er+er tiene
un panel de control 3ue se accede desde un icono de programa residente de la barra de tareas.
Tiene una #orma rara. como un cuentaCil(metros. &o +eremos en esta imagen:
,ulsamos el icono con el rat(n (bot(n iz3uierdo. clic normal" y +eremos abajo del todo una
instrucci(n 3ue pone D,ut =nlineE. 3ue pondr1 todos los ser+icios en #uncionamiento.
7hora. para comprobar 3ue los ser+icios #uncionan s(lo nos 3ueda abrir un na+egador. )amos
a escribir la siguiente direcci(n 0F& en la barra de direcciones:
http://localhost
Entonces nos tiene 3ue salir la p1gina de inicio del ser+idor 7pache con ,-, /. personalizada
por Wamp. 3ue es algo como esto:
Manual de PHP 5: http://www.desarrollowe.!om/manuales/5"/
% &os manuales de DesarrolloWeb.com tienen el copyright de sus autores. 'o reproducir sin autorizaci(n.
<
Tu mejor ayuda para aprender a hacer webs
www.desarrolloweb.com
4i no no sale nada puede 3ue haya habido un problema o un error al iniciar los ser+icios.
generalmente el 7pache. 3ue utiliza el puerto BA 3ue a +eces est1 ocupado por otro programa
como 4Cype o 664. &ee la G79: 'o #unciona el Wamp 4er+er $.
7hora podremos colocar en nuestro ser+idor todas las p1ginas ,-, 3ue 3ueramos probar o los
proyectos 3ue hayamos creado anteriormente. El directorio donde generalmente se localiza la
ra!z de publicaci(n es: ::HwampHwww
En esa carpeta podr!amos subir cual3uier archi+o ,-, < o ,-, / y deber!a ejecutarse
per#ectamente. =tra cosa 3ue puede #allar es 3ue los inicios de blo3ues de c(digo ,-, 3ue
deb8is utilizar son con DIJphpE y no s(lo con DIJE. 3ue est1 deshabilitado por de#ecto.
=s aseguro 3ue leer este art!culo os lle+ar1 m1s tiempo 3ue instalar ,-, / en +uestro
ordenador. :on Wamp 4er+er $ es muy #1cil.
Artculo por Miguel Angel Alvarez
Modelo de orientacin a objetos de PHP 3 y 4
&a +ersi(n ; de ,-, ya soportaba la programaci(n orientada a objetos (,==". aun3ue es
+erdad 3ue la mayor!a de las caracter!sticas de este tipo de programaci(n no estaban
implementadas toda+!a. En concreto. con ,-,; pod!amos crear clases e instanciar objetos. &as
clases permit!an agrupar tanto m8todos como propiedades o atributos. pero la cosa se
3uedaba ah!.
En ,-,<. se reescribi( el motor de ,-, para hacerlo mucho m1s r1pido y estable. pero la ,==.
3ue hab!a introducido la anterior +ersi(n del lenguaje. no se lleg( a modi#icar pr1cticamente.
7un as!. durante la +igencia de ,-, <. la programaci(n orientada a objetos #ue utilizada
habitualmente. a menudo en aplicaciones de gran tama>o. Entornos donde se puso de
Manual de PHP 5: http://www.desarrollowe.!om/manuales/5"/
% &os manuales de DesarrolloWeb.com tienen el copyright de sus autores. 'o reproducir sin autorizaci(n.
/
Tu mejor ayuda para aprender a hacer webs
www.desarrolloweb.com
mani#iesto la #alta de potencia de la ,== en ,-, < y la necesidad de mejorarla en una nue+a
+ersi(n.
El mayor problema de la ,== en las +ersiones ; y < de ,-, se basaba en 3ue. cada +ez 3ue se
asignaba una +ariable 3ue conten!a un objeto a otra +ariable. o se pasaba un objeto por
par1metro en una #unci(n. se realizaba una copia (un clon" de ese objeto y 3uedaba a
disposici(n del programa en la nue+a +ariable o par1metro.
Kpepe L new persona(MpepeM"N
Kpepe$ L KpepeN
En un c(digo como el anterior. se tiene un objeto persona alojado en la +ariable Kpepe y en la
segunda l!nea de c(digo. se crea un clon de Kpepe y se asigna a la +ariable Kpepe$. En este
caso y siempre siguiendo el anterior modo de trabajo de ,-,. aun3ue Kpepe y Kpepe$
contienen un objeto id8ntico. no se trata del mismo objeto sino de una copia. Todo esto implica
3ue el espacio en memoria para guardar los dos objetos es el doble 3ue si #uera un mismo
objeto con dos nombres distintos.
Esta situaci(n ocurr!a por3ue los objetos eran tratados del mismo modo 3ue las +ariables
normales. 3ue se pasan por +alor en las #unciones y en caso de asignarse. se realiza una copia
de la +ariable antes de asignarse al nue+o espacio.
%&emplo del modo de traa&o !on o&etos de PHP ' ( )
)amos a realizar un ejemplo para ilustrar el modo de trabajo de ,-, ; y < con los objetos. En
este ejemplo podr1 3uedar patente el proceso de clonaci(n de los objetos al ser pasados en
una #unci(n o al asignarse a otra +ariable.
,rimero +eamos una declaraci(n de un objeto muy simple. 4e trata de una McajaM 3ue tiene un
atributo 3ue es el contenido y dos m8todos. uno para introducir nue+os contenidos en la caja y
otro para mostrar el contenido actual de la caja.
class :ajaO
+ar KcontenidoN
#unction introduce(Kcosa"O
KthisPQcontenido L KcosaN
R
#unction muestraScontenido("O
echo KthisPQcontenidoN
R
R
7hora +amos a +er unas pocas l!neas de c(digo 3ue hacen uso de la clase :aja para ilustrar el
modo de trabajo de los objetos en ,-, <. )amos a instanciar el objeto. luego lo asignamos a
otra +ariable. con lo 3ue se crear1 un clon de ese objeto. continuamos modi#icando el clon y
+eremos 3ue pasa.
Kmicaja L new :aja("N
KmicajaPQintroduce(MalgoM"N
KmicajaPQmuestraScontenido("N
echo MIbrQMN
KsegundaScaja L KmicajaN
Manual de PHP 5: http://www.desarrollowe.!om/manuales/5"/
% &os manuales de DesarrolloWeb.com tienen el copyright de sus autores. 'o reproducir sin autorizaci(n.