nociones php

17
Primeros pasos: Nociones generales sobre PHP y entorno de trabajo Vamos a comenzar el curso introduciendo una serie de concepto programación PHP. Asimismo, instalaremos el software necesario paquete XAMPP, y haremos una primera toma de contacto con el entorno d Pero... ¿qué es PHP? PHP es el acrónimo de Hypertext Pre-processor (Preprocesador de Hipert interpretado de alto nivel, embebido en páginas HTML y ejecutado en el desarrollo de aplicaciones web y permite insertar contenidos dinámico Puede ser desplegado en la mayoría de los servidores web y plataformas sin costo alguno. El lenguaje PHP se encuentra actualmente de sitios web y en un millón de servidores. El gran parecido que posee PHP con los lenguajes más comunes de progra Perl, permite a los programadores crear aplicaciones complejas sin un La evolución de PHP Los inicios: PHP/FI PHP es el heredero de un producto anterior llamado PHP/FI que fue crea canadiense Rasmus Lerdorf en 1995. Estas primeras versiones no distribuidas al en un sus páginas web para mantener un control sobre quién consultaba disponible para el público a principios de 1995 fue conocida personales" (Personal Home Page Tools). Consistía en un analizador sin utilidades comunes en las páginas web de entonces: un libro de visitas Rasmus decidió liberar el código fuente de PHP/FI para que c arreglar errores y mejorar el código. PHP/FI 2.0 no se liberó oficialm sucedido en breve tiempo por las primeras versiones alfa de PHP 3.0. Después vino PHP 3 PHP 3.0 fue la primera versión parecida al PHP tal y como lo conocemos programadores israelíes Andi Gutmans y Zeev Suraski en 1997 al encontr posibilidades para desarrollar una aplicación comercial que est universitario. Una de las mejores características de PHP 3.0 era su gran extensibilid infraestructura para muchísimas bases de datos, protocolos y APIs. Las de PHP 3.0 animaron a muchos desarrolladores a unirse y enviar nuevos la clave del enorme éxito de PHP 3.0. Otras características soporte de sintaxis orientado a objetos y una sintaxis de lenguaje muc Todo el nuevo lenguaje fue liberado bajo el nombre de 'PHP' processor. A finales de 1998, PHP creció hasta alcanzar decenas de millares de us web informando de su instalación. En su apogeo, PHP 3.0 estaba instala de los servidores web en Internet. PHP 3.0 se liberó oficialmente en Junio de 1998. PHP 4

Upload: frankchavezruiz

Post on 21-Jul-2015

31 views

Category:

Documents


0 download

TRANSCRIPT

Primeros pasos: Nociones generales sobre PHP y entorno de trabajo Vamos a comenzar el curso introduciendo una serie de conceptos relacionados con el lenguaje de programacin PHP. Asimismo, instalaremos el software necesario para el seguimiento del curso, el paquete XAMPP, y haremos una primera toma de contacto con el entorno de trabajo y el lenguaje PHP.

Pero... qu es PHP?PHP es el acrnimo de Hypertext Pre-processor (Preprocesador de Hipertexto). Se trata de un lenguaje interpretado de alto nivel, embebido en pginas HTML y ejecutado en el servidor. Est muy orientado al desarrollo de aplicaciones web y permite insertar contenidos dinmicos en las pginas. Puede ser desplegado en la mayora de los servidores web y en casi todos los sistemas operativos y plataformas sin costo alguno. El lenguaje PHP se encuentra actualmente instalado en ms de 20 millones de sitios web y en un milln de servidores. El gran parecido que posee PHP con los lenguajes ms comunes de programacin estructurada, como C y Perl, permite a los programadores crear aplicaciones complejas sin un gran esfuerzo de aprendizaje.La evolucin de PHP

Los inicios: PHP/FI PHP es el heredero de un producto anterior llamado PHP/FI que fue creado por el programador danscanadiense Rasmus Lerdorf en 1995. Estas primeras versiones no distribuidas al pblico, fueron usadas en un sus pginas web para mantener un control sobre quin consultaba su currculum. La primera versin disponible para el pblico a principios de 1995 fue conocida como "Herramientas para paginas web personales" (Personal Home Page Tools). Consista en un analizador sintctico muy simple y una serie de utilidades comunes en las pginas web de entonces: un libro de visitas, un contador, etc. Rasmus decidi liberar el cdigo fuente de PHP/FI para que cualquiera pudiese utilizarlo, as como arreglar errores y mejorar el cdigo. PHP/FI 2.0 no se liber oficialmente hasta Noviembre de 1997. Fue sucedido en breve tiempo por las primeras versiones alfa de PHP 3.0. Despus vino PHP 3 PHP 3.0 fue la primera versin parecida al PHP tal y como lo conocemos hoy en da. Fue creado por los programadores israeles Andi Gutmans y Zeev Suraski en 1997 al encontrar que PHP/FI 2.0 tena pocas posibilidades para desarrollar una aplicacin comercial que estaban desarrollando para un proyecto universitario. Una de las mejores caractersticas de PHP 3.0 era su gran extensibilidad. Adems contaba con una slida infraestructura para muchsimas bases de datos, protocolos y APIs. Las caractersticas de extensibilidad de PHP 3.0 animaron a muchos desarrolladores a unirse y enviar nuevos mdulos de extensin. sta fue la clave del enorme xito de PHP 3.0. Otras caractersticas clave introducidas en PHP 3.0 fueron el soporte de sintaxis orientado a objetos y una sintaxis de lenguaje mucho ms potente y consistente. Todo el nuevo lenguaje fue liberado bajo el nombre de 'PHP' a secas, acrnimo de Hypertext Preprocessor. A finales de 1998, PHP creci hasta alcanzar decenas de millares de usuarios y cientos de miles de sitios web informando de su instalacin. En su apogeo, PHP 3.0 estaba instalado en aproximadamente un 10% de los servidores web en Internet. PHP 3.0 se liber oficialmente en Junio de 1998. PHP 4

A mediados de 1999 se introdujo PHP 4, basado en un nuevo motor, el Motor Zend, un intrprete mucho ms rpido que el anterior. Esta nueva versin aportaba una mejora en la ejecucin y adems inclua otras caractersticas clave: soporte para la mayora de los servidores web, sesiones HTTP, buffers de salida, formas ms seguras de controlar las entradas de usuario y muchas nuevas construcciones de lenguaje. La actualidad: PHP 5 El 13 de julio de 2004, fue lanzado PHP 5, utilizando el motor Zend Engine 2.0 (o Zend Engine 2), la nueva versin del motor Zend que es el corazn de PHP desde la versin 4. Una de las mejoras ms destacables de PHP 5 son los mecanismos de la Programacin Orientada a Objetos, POO, que ha solucionado las carencias de las anteriores versiones. Un paso necesario para conseguir que PHP sea un lenguaje apto para todo tipo de aplicaciones y entornos, incluso los ms exigentes. Asimismo, PHP 5 aporta mejoras en cuanto al rendimiento, mejor soporte para mySQL, mejor soporte para XML, soporte nativo para SQLite, soporte integrado para SOAP y manejo de excepciones. ...Y el futuro: PHP 6 Los desarrolladores del motor de PHP llevan ya varios aos trabajando en la versin 6. Se desconoce el momento en que vaya a ver la luz la nueva versin. En cualquier caso, es interesante estar al da e ir preparando nuestros desarrollos actuales para las posibles incompatibilidades con la nueva versin, aunque se prev que la migracin no vaya a ser muy complicada.Las versiones "al detalle" (... slo para los ms curiosos)Versin mayor Versin menor Fecha de lanzamiento Comentarios

1 2 3

1.0.0 2.0.0 3.0.0 4.0.0 4.1.0 4.2.0

08-06-1995 Llamada oficialmente "Personal Home Page Tools (PHP Tools)". Es la primera versin en usar elnombre "PHP"

01-11-1997 Considerada por sus creadores la "herramienta ms rpida y sencilla" para crear pginas webdinmicas.

06-06-1998 Zeev Suraski y Andi Gutmans reescribieron la base para esta versin. 22-05-2000 Se aadi un sistema de parsing de dos fases llamado motor Zend. 10-12-2001 Se introducen variables 'superglobales' ($_GET, $_POST, $_SESSION, etc.) 22-04-2002Se deshabilitan register_globals por defecto. Los datos recibidos por la red no son insertados en el espacio de nombres global, cerrando posibles agujeros de seguridad en las aplicaciones.

4 4.3.0 4.4.0 4.4.9 5.0.0 5 5.1.0

27-12-2002 Se introduce CLI, y CGI 11-07-2005 Se aaden pginas man para phpize y php-config. 07-08-2008 Mejoras de seguridad y arreglo de bugs. ltimo lanzamiento de la serie PHP 4.4. 13-07-2004 Motor Zend II con un nuevo modelo de objetos. 24-11-2005 Mejoras de rendimiento con la introduccin de variables de compilador para el nuevo motor de PHP.

5.2.0 5.2.17

02-11-2006 Activada la extensin de filtro por defecto. Soporte JSON nativo. 06-01-2011 Arreglo de vulnerabilidad crtica conectada a punto flotante.Soporte para espacios de nombres ; etiqueta de salto (goto limitada), Clausuras nativas, Soporte nativo para archivos PHP (phar), recoleccin de basura para referencias circulares, soporte mejorado 30-06-2009 para Windows, sqlite3, mysqlnd como reemplazo a libmysql como librera para extensiones que funcionan con MySQL, fileinfo como reemplzado de mime_magic para mejor soporte MIME, extensin de Internacionalizacin, y etiquera ereg obsoleta.

5.3.0

5.3.1 5.3.2 5.3.3 5.3.4 5.3.5 5.3.6 5.3.7 5.3.8

19-11-2009 Cerca de 100 bug fixes 04-03-2010 Gran nmero de bug fixes. 22-07-2010 Mayoritariamente arreglo de errores; FPM SAPI 10-12-2010 Mejoras a FPM SAPI 06-01-2011 Arreglo de vulnerabilidad crtica relacionada a punto flotante. 10-03-2011 Cerca de 60 bug fixes. 18-08-2011Esta versin se enfoca en la estabilidad con cerca de 90 bug fixes, algunos de los cuales tienen implicaciones en la seguridad.

23-08-2011 Esta versin arregla dos errores introducidos por la versin 5.3.7.

Items removidos: register_globals, safe_mode, allow_call_time_pass_reference, 5.4.0alp 03-08-2011 session_register(), session_unregister() y session_is_registered(). Mejoras a ha3 caractersticas exitentes.

6

?.?

Sin fecha prefijada

El desarrollo de PHP 6 ha sido retrasado porque los desarrolladores decidieron que el enfoque actual para tratar cadenas Unicode no es correcto, y estn considerando formas alternativas para la siguiente versin.

Rojo Leyenda Verde Azul

Sin soporte Con soporte Lanzamiento futuro

Caractersticas de PHP

Multiplataforma: PHP funciona tanto en sistemas Unix o Linux con servidor web Apache como en sistemas Windows con Microsoft Internet Information Server, de forma que el cdigo generado por cualquiera de stas plataformas no debe ser modificado al pasar a la otra. Sin embargo, las mejores prestaciones del lenguaje se obtienen trabajando en un entorno Unix o Linux con servidor web Apache. La principal ventaja que aporta el uso conjunto de PHP y Apache es que, de esta manera, se puede compilar el intrprete PHP como un mdulo de Apache, consiguiendo as que la velocidad de ejecucin de una pgina PHP sea elevada y que el consumo de recursos sea bajo ya que el intrprete PHP se carga una sola vez en memoria. Ejecucin en Servidor: Un lenguaje del lado del servidor es aquel que se ejecuta en el servidor web justo antes de que se enve la pgina a travs de Internet al cliente. Las pginas que se ejecutan en el servidor pueden realizar accesos a bases de datos, conexiones en red, y otras tareas para crear la pgina final que ver el cliente. El cliente solamente recibe una pgina con el cdigo HTML resultante de la ejecucin de la pgina PHP. Dado que la pgina resultante contiene nicamente cdigo HTML, es compatible con todos los navegadores. El siguiente esquema resume el funcionamiento que acabamos de explicar: Una pgina PHP no es ms que un programa escrito en PHP que genera cdigo HTML. Cuando un navegador solicita al servidor web una pgina PHP, antes de enviar dicha pgina al cliente, se la pasa al interprete de PHP. ste la interpreta y es el resultado de esta interpretacin del programa PHP, contenido en la pgina PHP, lo que termina llegando al cliente. Ejemplo: Supongamos que una pgina web, que reside en el servidor, tiene por nombre "saludo.php". Cuando un navegador solicite al servidor la pgina "saludo.php", el servidor web detectar, por la extensin .php, que sta pgina ha de enviarse primero al intrprete de PHP. ste recibe el contenido de la pgina y lo ejecuta. Como resultado de esta ejecucin (interpretacin) se genera una pgina HTML, que es la que se enva al cliente a travs de Apache. Como veremos ms adelante, en una pgina PHP se puede intercalar cdigo HTML y PHP. El cdigo fuente escrito en PHP es invisible al navegador web y al cliente ya que es el servidor el que se encarga de ejecutar el cdigo y enviar su resultado HTML al navegador. Esto hace que la programacin en PHP sea segura y confiable. Licencia de software libre: PHP es un lenguaje basado en herramientas con licencia de software libre, es decir, no hay que pagar licencias, ni estamos limitados en su distribucin y, es posible ampliarlo con nuevas funcionalidades si as lo deseamos.

Sintaxis cmoda: PHP cuenta con una sintaxis similar a la de C, C++ o Perl. Lo ms destacado ocurre a nivel semntico: el tipado es muy poco estricto. Es decir, cuando creamos una variable no tenemos que indicar de qu tipo es, pudiendo guardar en ella datos de cualquier tipo. Esto es muy flexible y cmodo para el desarrollador, aunque los errores que se cometen pueden ser mucho ms graves y difciles de corregir al reducirse mucho las posibilidades del intrprete para detectar incompatibilidades entre variables. Soporta objetos y herencia: PHP tiene soporte para la programacin orientada a objetos, es decir, es posible crear clases para la construccin de objetos, con sus constructores, etc. Adems soporta herencia, aunque no mltiple. Podemos afirmar, por lo tanto, que se trata de un lenguaje ideal tanto para las personas que empiezan a desarrollar como para desarrolladores experimentados. Extensa librera de funciones: PHP cuenta con una extensa librera de funciones que facilitan enormemente el trabajo de los desarrolladores. Adems presenta la capacidad de expandir su potencial utilizando mdulos (llamados extensiones) Compatibilidad con bases de datos: Capacidad de conexin con la mayora de los motores de base de datos que se utilizan en la actualidad, destaca su conectividad con MySQL y PostgreSQL. Amplia documentacin: Posee una amplia documentacin en su sitio web oficial (www.php.net), entre la cual se destaca que todas las funciones del sistema estn explicadas y ejemplificadas en un nico archivo de ayuda. Expansin: PHP est alcanzando unos niveles de uso tan elevados que hacen que su conocimiento sea algo indispensable para los profesionales del desarrollo en Internet. Se estima que PHP es usado por cientos de miles de programadores y muchos millones de sitios informan que lo tienen instalado.

Qu puedo hacer con PHP?La rpida evolucin que ha experimentado PHP ha hecho de l un lenguaje que nos permite hacer de todo. Como hemos comentado anteriormente, en un principio fue diseado para realizar poco ms que un contador y un libro de visitas pero gracias a su expansin y a las aportaciones de una gran comunidad de usuarios y desarrolladores, PHP se ha convertido en una potente herramienta que permite realizar una multitud de tareas tiles para el desarrollo web. Citamos, a continuacin, una relacin de algunas utilidades que aporta PHP y cuyo manejo iremos aprendiendo a lo largo del curso:

Funciones de correo electrnico PHP cuenta con una funcin que permite, de una manera sencilla, enviar un e-mail a un destinatario o a una lista de ellos. Esta funcin ofrece adems la posibilidad de indicar, a travs de sus parmetros, una serie de aspectos tales como el asunto del mensaje, el e-mail de procedencia, el e-mail de respuesta,... Adems de la citada funcin, la librera de PHP cuenta con otras funciones de uso menos frecuente pero de gran utilidad para gestionar correos electrnicos.

Gestin de bases de datos El lenguaje PHP ofrece utilidades para el acceso a la mayora de las bases de datos. Esto hace posible editar el contenido de nuestra pgina de manera sencilla y crear, de esta manera, webs con contenidos dinmicos. Gestin de archivos PHP cuenta con una extensa librera de funciones para la gestin de archivos. Dichas funciones

permiten realizar operaciones sobre archivos tales como crear, borrar, mover, modificar, etc. Tambin es posible transferir archivos por protocolo FTP mediante sentencias en nuestro cdigo, empleando para ello la gran cantidad de funciones con que cuenta PHP.

Tratamiento de imgenes PHP permite automatizar el tratamiento del tamao y el formato de las imgenes que recibimos a travs de nuestra pgina mediante el uso de una serie de funciones predefinidas.

Adems de las utilidades que hemos comentado, la extensa librera de PHP cuenta con muchos ms grupos de funciones entre los que cabe destacar: funciones para Internet (tratamiento de cookies, accesos restringidos, comercio electrnico, etc) o funciones de propsito general (funciones matemticas, funciones de fecha, funciones de cadenas, correccin ortogrfica, compresin de archivos, etc). A esta inmensa librera hay que aadir todas las funciones personales que cada uno va creando en respuesta a sus propias necesidades y que luego pueden ser reutilizadas en otros sitios y todas aquellas intercambiadas u obtenidas en foros o sitios especializados. NOTA Asimismo, PHP cuenta con una gran variedad de libreras, paquetes y clases que permiten aumentar y desarrollar ampliamente las funcionalidades del lenguaje. Si bien es cierto que su tratamiento y estudio se escapa de las expectativas de este curso de iniciacin, la utilizacin de estas libreras y paquetes va a cubrir necesidades muy frecuentes en el desarrollo de aplicaciones web. Para los lectores que puedan estar interesados en ampliar conocimientos, en el curso de "PHP Avanzado", se estudian temas como la abstraccin de base de datos, generacin de documentos PDF, acceso FTP, paginacin de resultados, implementacin de servicios web con NuSOAP, utilizacin conjunta de la tecnologa AJAX y PHP, etc. Tambin se exponen algunos entornos de trabajo (frameworks) para PHP, as como programas de libre distribucin como phpAdsNew y PHP-Nuke.

Como podemos imaginar, las posibilidades son sorprendentemente amplias. Nuestro trabajo ahora consiste en familiarizarnos con estas categoras de funciones. El resultado puede ser muy satisfactorio.

El entorno de TrabajoQu necesito tener instalado?

La metodologa de trabajo que se sigue a la hora de elaborar pginas web consta de dos fases, una local y otra remota:

En una primera fase se disean y desarrollan las pginas en modo local, en nuestro equipo. En este punto, la web slo es visible en el equipo en el que ha sido creada (no est accesible en la red). Una vez que se han realizado las pruebas pertinentes para depurar posibles errores y se ha comprobado que la pgina funciona correctamente, se pasa a la siguiente fase que es la publicacin en un servidor remoto de Internet. De esta manera, cualquier cliente podr visualizar la web, a travs de la red, desde su navegador.

En este curso vamos a trabajar en modo local, es decir, vamos a elaborar y ejecutar programas PHP en nuestro equipo. Como hemos comentado anteriormente, PHP es un lenguaje de programacin que se ejecuta en servidor. Por lo tanto, necesitamos disponer de un servidor web para poder trabajar con PHP. Pero dicho servidor puede estar instalado en nuestro equipo, no tiene por qu ser una mquina independiente. Instalaremos en nuestro equipo el servidor web Apache junto con el intrprete de PHP.

Adems del servidor de web, tambin tendremos que instalar en nuestro equipo una base de datos que nos permita almacenar informacin. En nuestro caso, emplearemos la base de datos MySQL y una herramienta llamada phpMyAdmin destinada a facilitar la gestin de tablas de base de datos.IMPORTANTE!

Para poder ejecutar aplicaciones PHP en modo local, vamos a instalar en nuestro equipo:

El servidor web Apache, junto con el intrprete de PHP. La base de datos MySQL junto con la herramienta phpMyAdmin, que permite acceder a todas las funciones tpicas de la base de datos MySQL a travs de una interfaz web muy intuitiva.

Es posible hacer una instalacin y configuracin "manual" de las citadas aplicaciones pero existen varios paquetes que pueden facilitarnos las cosas ya que instalan todo (Apache, intrprete de PHP y la base de datos MySQL junto con phpMyAdmin) correctamente configurado y sin tener que preocuparnos de los pormenores de cada uno. Existen varios paquetes, que instalan todo lo que necesitamos para empezar a programar en PHP: WampServer, XAMPP, PHPTriad, etc. De entre todos ellos nos vamos a quedar con WampServer. Se trata de un programa que nos puede ahorrar muchos quebraderos de cabeza puesto que hacer funcionar PHP sobre Apache mediante una instalacin manual no es un problema trivial. Con WampServer podremos instalarlo todo en pocos minutos.

IMPORTANTE! Para usuarios de Linux o Mac OS

Dado que el paquete WampServer nicamente se distribuye para entornos Windows, los usuarios de otros sistemas operativos como Linux, Mac OS X o Solaris pueden instalar el paquete XAMPP que puede utilizarse casi en cualquier sistema operativo que tengamos instalado. XAMPP tambin es de libre distribucin. Se ofrece gratuitamente en la pgina oficial del producto: http://www.apachefriends.org/es/xampp.html

Una vez instalado WampServer o XAMPP... tendr listo el entorno de trabajo? Pues no... Para escribir nuestros programas en PHP vamos a emplear un editor para PHP. Existen bastantes editores de este tipo, nosotros recomendamos la utilizacin de uno de estos dos editores: Editplus o Zend Studio. Ms adelante comentaremos las caractersticas de cada uno de ellos.La instalacin de WampServer (slo para entornos Windows)

Simplemente haciendo doble clic en el archivo que se descarga en el enlace http://www.wampserver.com/en/download.php se inicia la instalacin, slo hay que seguir las instrucciones, todo es automtico.

La instalacin de XAMPP (para usuarios de Linux o Mac OS)

Podemos encontrar tanto el programa como la documentacin en la pgina oficial del producto: http://www.apachefriends.org/es/xampp.html Desde esa pgina de XAMPP podemos ver la lista de distribuciones por sistema operativo. Podemos acceder a cualquiera de las opciones en funcin de nuestras necesidades.

Tambin existe una versin de XAMPP para Windows en http://www.apachefriends.org/en/xamppwindows.html En el momento de la elaboracin de estos apuntes la versin que podemos descargar es XAMPP 1.7.7 que instala, bsicamente, los siguientes programas:

Apache 2.2.21

MySQL 5.5.16 PHP 5.3.8 phpMyAdmin 3.4.5

Aunque en la instalacin normal, tambin se incluyen otros elementos como ProFTPD 1.3.3e o OpenSSL 1.0.0c. La instalacin es tan sencilla como entrar en la pgina de XAMPP, descargar la aplicacin adecuada al entorno y ejecutar el instalador. Posteriormente, podremos administrar los servicios a travs de un panel de control que se encuentra en Inicio / Programas / Apache Friends / XAMPP. En la pgina web de XAMPP podemos encontrar documentacin relativa tanto a la instalacin y como a la puesta en marcha del producto.La puesta en marcha de WampServer

Tras la instalacin de WampServer, en el men Inicio se crea un grupo de programas llamado WampServer, donde se encuentra la opcin "Start Wampserver". Una vez arrancado WampServer tendremos visible un icono en la barra de tareas con una forma similar a la de un marcador de velocidad. Al pulsar sobre ese icono se abrir un men con opciones variadas para gestionar los servicios relacionados con el paquete. Antes de ejecutar un script tendremos que asegurarnos de que hemos arrancado el servidor Apache y, si es necesario, tambin el servidor de base de datos. Para arrancar ambos servicios al mismo tiempo podemos elegir la opcin "Start All Services" que aparece en el men.

Una vez terminado el trabajo, es recomendable detener los servicios desde la opcin "Stop All Services".

IMPORTANTE! Antes de ejecutar un script tendremos que asegurarnos de que hemos arrancado el servidor Apache y, si es necesario, tambin el servidor de base de datos. Para arrancar ambos servicios al mismo tiempo podemos elegir la opcin "Start All Services" Una vez arrancados los servicios, para comprobar que estn corriendo correctamente, hay que acceder a la pgina de inicio del servidor escribiendo en la barra de direcciones del navegador http://localhost/:

Comprobemos ahora el funcionamiento de MySQL. En una ventana del navegador tecleamos http://localhost/phpmyadmin/ y debera cargarse el gestor de base de datos phpMyAdmin:

Y ahora... a por el editor!

Vamos a hablar sobre un par de programas adecuados para la edicin de cdigo PHP: Zend Studio y Editplus.

Zend Studio: Se trata de un editor muy completo, destinado a un uso profesional. Editplus: A pesar de no ser tan sofisticado y completo como Zend Studio, se trata de un buen editor para PHP y quizs el ms adecuado para nuestras necesidades.

Zend Studio

Se trata de un programa de la casa Zend, impulsores de la tecnologa del servidor PHP, orientada a desarrollar aplicaciones web, como no, en lenguaje PHP. El programa, adems de servir de editor de texto para pginas PHP, proporciona una serie de ayudas que pasan desde la creacin y gestin de proyectos hasta la depuracin de cdigo. El programa entero est escrito en Java, lo que a veces supone que no funcione tan rpido como otras aplicaciones de uso diario. Sin embargo, esto ha permitido a Zend lanzar con relativa facilidad y rapidez versiones del producto para Windows, Linux y MacOS. Zend Studio consta de dos partes en las que se dividen las funcionalidades de parte del cliente y las del servidor. Las dos partes se instalan por separado, la del cliente contiene el interfaz de edicin y la ayuda. Permite adems hacer depuraciones simples de scripts, aunque para disfrutar de toda la potencia de la herramienta de depuracin habr que disponer de la parte del servidor, que instala Apache y el mdulo PHP o, en caso de que estn instalados, los configura para trabajar juntos en depuracin.El editor

La parte del programa que nos permite escribir los scripts es bastante til para la programacin en PHP. La interfaz est compuesta por varias partes, en las que encontramos un explorador de archivos, una ventana de depuracin, los mens y otra para mostrar el cdigo de las pginas.

Lo ms destacable es que contiene una ayuda contextual con todas las libreras de funciones del lenguaje que asiste en todo momento ofreciendo nombres de las funciones y parmetros que deben recibir. Aunque esta ayuda contextual no slo se queda en las funciones definidas en el lenguaje, sino que tambin aporta ayuda con las funciones que vayamos creando nosotros, incluso en pginas que tengamos incluidas con la funcin include(). Otras ayudas que ofrece a la hora de escribir son las tpicas en editores avanzados, como permitir editar varios archivos, y moverse fcilmente entre ellos, marcar a qu elementos corresponden los inicios y cierres de las etiquetas, parntesis o llaves, moverse al principio o al final de una funcin, identificacin automtica del cdigo, etc. De todos modos, las mejores cualidades de Zend Studio no debemos buscarlas en la parte de edicin sino en las posibilidades de gestin de proyectos y depuracin.Gestin de proyectos

La barra de la izquierda, que permite navegar por los archivos de nuestro ordenador, tambin dispone de herramientas para gestionar los proyectos, muy tiles para mejorar la productividad en la programacin. Los proyectos permiten guardar mucha ms informacin al programa sobre los archivos, discos, servidores, etc. que se gestionen en nuestras aplicaciones PHP. Una vez que los archivos se han aadido al proyecto se pueden guardar seales como puntos de ruptura en las depuraciones. Asimismo, cuando ponemos en marcha Zend Studio, se vuelven a abrir los archivos que estuvieran abiertos la ltima vez que el programa se cerr y las herramientas de completar cdigo mejoran sus comportamientos, asumiendo toda la informacin de los archivos relacionados con el proyecto. Zend Studio implementa adems unas interesantes opciones para trabajar en grupo, al integrar el sistema de trabajo conocido como CVS.La herramienta de depuracin

Sin duda ms de una vez los programadores de PHP se han visto en un duro problema por no encontrar un error en algn script que est dando resultados inesperados. Para hacernos la vida ms fcil en estas tesituras Zend Studio dispone de una herramienta muy interesante de debug o depuracin. Gracias a ella podemos ejecutar pginas y conocer en todo momento el contenido de las variables de la aplicacin y las variables del entorno como las cookies, las recibidas por formulario o en la sesin. Podemos colocar puntos de parada de los scripts y realizar las acciones tpicas de depuracin.

Adems de la ventana para visualizar el contenido de las variables, dispone de otras donde muestra la salida del script segn se va generando, y otra donde se pueden ver las alertas y errores. Las posibilidades se completan con distintos tipos de depuracin, en local, en remoto o a partir de una URL. El software est disponible para entornos Windows, Linux y MacOS. Puede descargarse una versin de prueba desde la pgina de Zend http://www.zend.com/en/products/studio/downloads que nos permite utilizarlo durante 21 das, despus de los cuales se deshabilitan ciertas opciones. La versin sin lmite de uso es de pago. Si deseamos aumentar la productividad en nuestros desarrollos PHP no cabe duda que este programa puede ayudarnos ampliamente. Sin embargo puede que resulte demasiado complejo para nuestras necesidadesEditplus

EditPlus (antes conocido como Edit++) es un editor de texto 32-bit para Windows. No slo es un buen reemplazo para el bloc de notas de Windows, sino que adems ofrece potentes funciones para autores y programadores de pginas web.

Algunas de las funciones ms importantes es el resalto de errores de sintaxis, una barra de herramientas de HTML, herramientas definibles por el usuario, y archivos de ayuda. Potente rehacer y deshacer, soporte para arrastrar y soltar, bsqueda y reemplazo de palabras, corrector ortogrfico, teclas rpidas, etc. A pesar de que tiene un gestor de proyectos, este es bastante pobre, no tiene un rbol de directorios ni nada similar. Permite editar las palabras clave, incluye tambin plantillas para PHP, SSI y ASP. A pesar de no ser tan sofisticado y completo como Zend Studio (sobre todo en lo relativo a sus posibilidades de gestin de proyectos y depuracin), se trata de un buen editor para PHP y quizs el ms adecuado para nosotros. Recomendamos por tanto el editor Editplus para el seguimiento del curso. Podis descargarlo en la pgina oficial http://www.editplus.com y tambin en http://editplus.softonic.com/. Se trata de una versin shareware que caduca a los 30 das de uso, pero la aplicacin sigue operativa una vez agotado el plazo. Algunas de las funciones ms importantes es el resalto de errores de sintaxis, una barra de herramientas de HTML, herramientas definibles por el usuario, y archivos de ayuda. Potente rehacer y deshacer, soporte para arrastrar y soltar, bsqueda y reemplazo de palabras, corrector ortogrfico, teclas rpidas, etc. A pesar de que tiene un gestor de proyectos, este es bastante pobre, no tiene un rbol de directorios ni nada similar.

Permite editar las palabras clave, incluye tambin plantillas para PHP, SSI y ASP. A pesar de no ser tan sofisticado y completo como Zend Studio (sobre todo en lo relativo a sus posibilidades de gestin de proyectos y depuracin), se trata de un buen editor para PHP y quizs el ms adecuado para nosotros. Recomendamos por tanto el editor Editplus para el seguimiento del curso. Podis descargarlo en la pgina oficial http://www.editplus.com y tambin en http://editplus.softonic.com/. Se trata de una versin shareware que caduca a los 30 das de uso, pero la aplicacin sigue operativa una vez agotado el plazo.

Ahora s... Nuestro primer programa en PHPDnde guardar los scripts IMPORTANTE!

Todos los archivos PHP deben guardarse en un directorio accesible por el servidor Apache para poder ser ejecutados Todos los archivos PHP deben guardarse en un directorio accesible por el servidor Apache para poder ser ejecutados. A este directorio se le conoce con el nombre de DocumentRoot (directorio raiz) y, dependiendo del paquete que hayamos empleado para la instalacin del entorno de trabajo, dicho directorio ser:

La carpeta www si hemos empleado WampServer. Su ubicacin es c:\wamp\www o c:\wampserver\www y su contenido inicial es el que muestra la siguiente imagen:

O la carpeta htdocs si hemos instalado Xampp. En este caso su ubicacin sera C:\xampp\htdocs

En ambos casos, los directorios C:\xampp\htdocs o c:\wamp\www, se crean de forma automtica al instalar los paquetes. Hay que tener en cuenta que la ubicacin del DocumentRoot es configurable. Si nos interesase elegir otra carpeta donde ubicar nuestros proyectos, podramos hacerlo pero para ello tendramos que modificar el archivo de configuracin de PHP. Nosotros, para el seguimiento del curso, dejaremos la configuracin por defecto del DocumentRoot: c:\wamp\www C:\xampp\htdocs, tal como hemos explicado.

IMPORTANTE!

Las carpetas www o htdocs, respectivamente, son los directorios donde vamos a ubicar nuestros programas PHP para que stos puedan ser ejecutados por Apache. Dentro de estas carpetas se crean subcarpetas con el fin de tener organizados nuestros trabajos. Por ejemplo, un conjunto de archivos y/o programas con un tema en comn, as como todos los archivos que constituyen una pgina web determinada estarn ubicados dentro de una misma subcarpeta. Vamos a crear, por lo tanto, una carpeta nueva que cuelgue de htdocs o, en su caso, de www en la cual guardaremos todos los programas que realicemos a lo largo del curso. Dicha carpeta tendr el nombre cursoPHP. Adelante!

Con el fin de organizar nuestros trabajos seguiremos la siguiente estrategia:

Vamos a crear dentro de la carpeta cursoPHP una carpeta por cada unidad del curso. Es decir, crearemos doce carpetas llamadas unidad1, unidad2, ..., unidad12 donde guardaremos los cdigos correspondientes a las unidades 1, 2, ..., 12 respectivamente. Adems, colgando de cada una de estas doce carpetas, crearemos otra subcarpeta llamada ejerc. Esta ser la ubicacin de los cdigos correspondientes a los ejercicios de cada unidad.

El primer programa Vamos a realizar nuestro primer programa PHP. De momento no entraremos en detalles, simplemente teclearemos el siguiente cdigo en el editor de PHP:

Despus guardaremos el archivo con el nombre saludo.php dentro del directorio cursoPHP/unidad1 que hemos creado anteriormente. Se trata de un cdigo muy sencillo que mostrar por pantalla el texto "Saludo desde PHP" (la funcin echo de PHP muestra por pantalla un texto).

Los archivos PHP tienen extensin .php

Para ejecutar este primer programa, en una ventana del navegador, tecleamos http://localhost/cursoPHP/unidad1/saludo.php (no olvides que Apache debe estar arrancado) y, si todo va bien, obtendremos este resultado:

EjerciciosLa ubicacin donde guardaremos los ejercicios de esta unidad ser c:\wamp\www\cursoPHP\unidad1\ejerc o c:\xampp\htdocs\cursoPHP\unidad1\ejerc dependiendo del paquete que hallamos instalado Seguiremos esta dinmica en cada una de las lecciones del curso.

Ejercicio 1En el editor PHP teclear el siguiente cdigo:

Guardarlo con el nombre navega.php en la ubicacin indicada anteriormente. Tras la ejecucin del programa se nos informa del navegador con el que estamos visualizando la pgina actual. Comprubalo!