Curso Basico PHP 5 Modulo 1

Curso PHP Básico 5

Módulo 1 Antecedentes

1.1 Contenido estático vs. Dinámico
1.2 Instalación de XAMPP
1.3 Configuración de Virtual host para trabajar en proyectos
logomodulo11 Curso Basico PHP 5 Modulo 1

NOTA: En la instalación y configuración de XAMPP y VirtualHost NO entramos en detalles minuciosos sobre para que sirve cada instrucción que configuramos; más delante publicaremos un Apéndice que explicará algunas cosas y le será muy útil su lectura una vez que domine PHP.

1.1 Contenido estático vs. Dinámico

PHP es un lenguaje de programación interpretado, diseñado originalmente para la creación de páginas web dinámicas. Es usado principalmente para la interpretación del lado del servidor (server-side scripting) pero actualmente puede ser utilizado desde una interfaz de línea de comandos o en la creación de otros tipos de programas incluyendo aplicaciones con interfaz gráfica usando las bibliotecas Qt o GTK+. PHP va incrustado dentro del código HTML.

Cuando inició la web todo era HTML, es decir un lenguaje especial de marcación que permite dar formato al texto en negritas, tipo de letra, subrayado, tablas, etc… y crear hiperenlaces, es decir, vincular otros documento dando clic en el texto subrayado. Sin embargo, estas páginas no tenían dinamismo, el contenido no cambiaba mientras el creador del mismo no lo modificaba para actualizar el contenido.

PHP es un lenguaje que puede ser incrustado en HTML para hacer que la página sea completamente dinámica.

Página Dinámica: Archivo de texto que contiene código HTML mezclado con código de programación. Una página dinámica ejecuta el código de programación y genera código HTML. También se le conoce como Página Activa.

Una página dinámica podría ser un Catálogo de Productos, donde el contenido se alimenta de una base de datos que muestra los nuevos productos, los ordena, es posible hacer búsquedas, etc.

Ventajas de usar PHP

Una de las grandes ventajas de aprender el Lenguaje de Programación PHP es que es muy sencillo de aprender, sobre todo si se tiene ya conocimientos de lenguajes del tipo C / C++ / Java, ya que la sintaxis es muy similar: y es más fácil que por ejemplo, Aprender Inglés. Ahora hablaremos de los beneficios particulares de aprender PHP.

  • Es rápido: Va embebido entre el código HTML y el tiempo de procesamiento y carga es breve.
  • Es Libre de Cargo: Puedes usarlo libremente, simplemente lo descargas e instalas en su servidor Web de desarrollo.
  • Fácil de Usar: Su sintaxis es fácil de comprender, aún para los no programadores.
  • Es versátil: PHP se ejecuta en una amplia variedad de Sistemas Operativos: Windows, Linux, Mac OS, y muchas variedades de Unix.
  • Soporte técnico disponible: A través de su sitio Web (www.php.net), infinidad de foros comunitarios o algunos de pago que son excelentes.
  • Es seguro: Si un programa está bien diseñado, PHP es muy seguro. Sin embargo para lograr una Seguridad aceptable se deben seguir ciertos criterios que mencionaremos en su momento a lo largo del Curso Básico.
  • Código Fuente disponible: La licencia Open Source permite a los programadores realizar cambios en el código fuente. Aunque para la gran mayoría de los usuarios, incluyendo desarrolladores experimentados esta ventaja no es de gran peso sino para los especialistas en compiladores e intérpretes es bueno saber que hay millones de ojos viendo el código, de esta manera es fácil que aparezcan reportes de fallos de seguridad y que se arreglen lo más pronto posible.

Además de todo esto, es uno de los lenguajes de Programación más populares. En el momento que se escribe este artículo, Febrero de 2012, ocupa la posición número 6 según TIOBE sitio web donde se encargan de publicar mensualmente la posici;on que ocupan los lenguajes de programación más usados. (NOTA: Es posible que si este artículo es leido digamos en Marzo de 2012 los datos sean distintos.)

Usando PHP para conectividad a base de Datos

Quizás la característica más potente y destacada de PHP es su rico soporte para una gran cantidad de bases de datos. Escribir un interfaz vía web para una base de datos es una tarea simple con PHP. Entre las base de datos populares tenemos:

  • dBASE
  • Informix
  • Ingres
  • Interbase / Firebird
  • Microsoft SQL Server
  • mSQL
  • MySQL
  • Oracle
  • PostgreSQL
  • Sybase

Adicionalmente, PHP soporta ODBC (Open Database Connectivity), un estándar que permite la comunicación con diversas bases de datos, tales como Access e IBM DB2.

Versiones de PHP
La versión de PHP que usaremos en este curso es la 5.2, es la serie que más se utiliza actualmente y tiene una serie de características avanzadas que por ahora, en un curso básico no perderemos mucho el tiempo en extendernos en ella, solo mencionar que el apoyo a la Programación Orientada a Objetos (OOP) ha mejorado mucho, asi como Soporte para espacios de nombres; etiqueta de salto (goto limitada), Clausuras nativas, Soporte nativo para archivos PHP (phar), recolección de basura para referencias circulares, soporte mejorado para Windows, etc. Si deseas ver una lista de características de cada una de las versiones de PHP visita Wikipedia a mitad de la página viene una tabla donde se describe versión y características principales.

1.2 Instalación de XAMPP en Windows (XP,Vista,Windows 7)

Lo primero que haremos antes de introducirnos al lenguaje PHP será instalar en nuestro equipo XAMPP, el cual es un instalador que nos permite por medio de un asistente (clic y siguiente…) instalar PHP, MySQL y Apache para efectos de tener un Ambiente de Desarrollo.

Versión 1.7.3 Para el curso vamos a instalar la versión de xampp 1.7.3, al momento de redactar este artículo esta disponible la versión 1.7.7 que trae PHP 5.3.8, dado que hemos encontrado algunos problemas para que funcione dicha versión con código heredado, y la version 5.3.1 de PHP en XAMPP 1.7.3 resulta muy estable usaremos este instalador. Instale la nueva versión bajo su responsabilidad; no daremos soporte, si encuentra que cierto código del curso tiene problemas para ejecutarse en su ambiente de desarrollo. Recomiendo que instale la versión que recomiendo, y cuando sea un experto en PHP verá que cosas deben tenerse en cuenta para que la version 5.3.x funcione con sus aplicaciones.
Descargar XAMPP 1.7.3

Nos dirigimos a esta url http://sourceforge.net/projects/xampp/files/XAMPP Windows/1.7.3/ y buscamos el archivo xampp-win32-1.7.3.exe, damos clic en el y lo descargamos a nuestra computadora (NOTA: debe tener una conexión de alta velocidad ya que el archivo pesa 53.7 Mb).

Una vez echo esto damos doble clic al archivo ejecutable y aparecerá esta pantalla:

 

xampp18 Curso Basico PHP 5 Modulo 1

 

Recomiendo que la ruta por defecto sea la que suguiere XAMPP, en mi Laptop la unidad de disco por defecto es C:, tal vez en tu equipo sea una letra distinta (B, C, D, E). Enseguida damos clic al botón Install.

 

Ahora sencillamente el instalador procede a desempaquetar el contenido y lo instalará, este proceso puede tomar tiempo, dependiendo de la velocidad de tu procesador. La pantalla siguiente muestra este proceso:

 

xampp2 Curso Basico PHP 5 Modulo 1

 

Una vez instalado el software de XAMPP se despliega una pantalla de Línea de Comandos que nos hace algunas preguntas de configuración.

Primero nos pregunta si coloca el panel de Control de XAMPP un enlace directo en el escritorio. recomiendo que acepte: y luego presionamos Intro.

 

xampp3 Curso Basico PHP 5 Modulo 1

En la siguiente pantalla simplemente tecleamos y luego presionamos tecla Intro.

xampp4 Curso Basico PHP 5 Modulo 1

Como instalamos en una unidad de disco, la siguiente pantalla la dejamos como n y presionamos Intro.

xampp5 Curso Basico PHP 5 Modulo 1

El script de línea de Comandos localiza la carpeta donde se ha instaldo XAMPP y realiza algunos ajustes:

xampp6 Curso Basico PHP 5 Modulo 1

En la Siguiente pantalla nos dice que tiene por defecto la hora y tiempo de America/Chigaco que si deseamos hacer algún ajuste, lo dejamos como está y en su momento haremos los ajustes pertinentes cuando avancemos en el Curso:

xampp7 Curso Basico PHP 5 Modulo 1

Finalmente, nos ofrece algunas opciones de Control. Las únicas que usaremos es la opción 1 para que lance el Control Panel Application y x para salir de la línea de comandos:

xampp8 Curso Basico PHP 5 Modulo 1

En XAMPP Control Panel vamos a ejecutar Apache y MySQL dando clic a los botones Start respectivos, todo funcionará bien y debe verse su Control Panel como se muestra en al siguiente pantalla (NOTA: Si tu firewall te pregunta si da acceso a las aplicaciones Apache y MySQL dile que sí, de lo contario se bloqueará tu servidor de Desarrollo Web):

xampp9 Curso Basico PHP 5 Modulo 1

 

Vamos a mantener abierta la pantalla de Control Panel de XAMPP ya que la utilizaremos más delante. Sin embargo, si la cerraste no te preocupes, esta aplicación esta como acceso directo en tu escritorio.

Una vez instalado el sistema abrimos un navegador (ejemplo: Firefox), escribimos en la url: localhost y damos intro, nos debe mostrar la siguiente pantalla:

 

xampp10 Curso Basico PHP 5 Modulo 1

Seleccionamos el idioma Español para el Panel administrativo Web de XAMPP:

El Panel de Control Web se muestra a continuación:

xampp11 Curso Basico PHP 5 Modulo 1

En el bloque de enlaces de la izquierda de la pantalla anterior elije “Chequeo de seguridad” deberá mostrarse la siguiente pantalla:

En la parte superior de esta pantalla podemos observar que no hay contraseña en MySQL, que el Panel de Control se visualiza desde la Red, etc.

xampp12 Curso Basico PHP 5 Modulo 1

En la parte inferior de la misma pantalla vamos a dar clic al enlace http://localhost/security/xamppsecurity.php para proporcionarle una clave al root de MySQL y por tanto PhpMyAdmin ya no dará acceso a nadie de la red local como usuario root.

Seleccionemos el enlace de xamppsecurity.php y proseguimos:

xampp13 Curso Basico PHP 5 Modulo 1

Aunque estamos instalando XAMPP para Desarrollo Web en un equipo personal con Windows, es buena idea acostumbrarse a asegurar con una clave al usuario root.

En la siguiente pantalla se muestra dónde debe introducirse la clave de root, la debemos repetir en las dos cajas de texto. Elijamos una clave que sea fácil de recordar y damos clic en el botón: Password changing

xampp14 Curso Basico PHP 5 Modulo 1

Enseguida se confirma que el cambio se clave de root fue exitoso, y que es preciso reiniciar el servidor MySQL para que se reflejen los cambios. Esto se muestra en la siguiente pantalla:

xampp15 Curso Basico PHP 5 Modulo 1

Para confirmar esos cambios vamos al Control Panel de XAMPP y damos clic al botón Stop, seguido de Start. Vea la siguiente pantalla:

xampp16 Curso Basico PHP 5 Modulo 1

Finalmente, si vamos nuevamente a la pantalla index http://localhost del Panel de Administración Web de XAMPP y damos clic en el enlace phpinfo(),se mostrará información útil como la versión de PH Py otras configuraciones que estudiaremos en su momento:

xampp17 Curso Basico PHP 5 Modulo 1

Listo! Ya hemos terminado de instalar nuestro ambiente de Desarollo Web para adentrarnos al Curso Básico de PHP, usaremos este entorno en todo lo que resta del curso, asi que si aún no lo haces te recomiendo que sea tu primer tarea.
Sólo una nota final, hemos dejado que XAMPP sea inicializado manualmente, esto es así para que solo se ejecute cuando requiramos trabajar con la programación PHP, sin que se consuman recursos del equipo; pero si lo deseas puedes instalar Apache y MySQL como un servicio para que siempre estén corriendo en segundo plano, para esto basta con dar clic en Svc y confirmar que desea instalar los servicios.

Hola Mundo

Vamos a probar nuestra instalación haciendo el clásico ejemplo de Hola Mundo. así identificaremos cual es la carpeta donde deben publicarse el contenido. Manos a la obra:

Recomiendo instalar un editor de texto que resalte el código PHP, una herramienta libre que recomiendo es Notepad++ en la sección de descargas pueden bajar la versión más actual a la fecha.

Abrimos nuestro editor (Notepad de windows o Notepad++) y escribimos lo siguiente:

Vamos a guardar este archivo como hola.php en la siguiente ruta: C:\xampp\htdocs (Si instalaste en otra unidad de disco o ruta realiza los ajustes necesarios)

Ahora abrimos el navegador y escribimos la url: http://localhost/hola.php

Deberá ver esto en su navegador!!

hola Curso Basico PHP 5 Modulo 1

IMPORTANTE: Si usas notepad de windows debes guardar la primera vez hola.php encerrando entre comillas el nombre del archivo asi: “hola.php” de otra manera se guardaría como hola.php.txt y no se ejecutaría el archivo.

1.3 Configurar Virtual Host para trabajo de Proyectos

El virtual host o vhost, es un método común para alojar localmente múltiples dominios (Localmente como en ambientes de producción). Cuando usamos XAMPP, este por defecto trabaja con url’s locales similares a:

http://localhost/proyecto/ Donde proyecto es una carpeta dentro de C:\xampp\htdocs

 

Con vhost podemos crear dominios personalizados tales como:

  • http://proyecto/
  • http://proyecto.loc
  • http://proyecto.local
  • http://proyecto.extension

 

En este curso usaremos los dominios terminados en “.loc” como estándar para diferenciarlos del resto y no producir confusión (http://proyecto.loc).

Loc.- Local.

Necesitamos un servidor basado en Apache, como XAMPP, que integran en una sola instalación al propio Apache, MySQL, phpMyAdmin y PHP. Luego, con algunas modificaciones podremos usar los dominios que queramos en nuestra red local.

Expliquemos paso a paso el proceso para soportar virtual host, desde la instalación inicial hasta las pruebas en nuestra máquina o máquinas dentro de la red.

Configurando VirtualHost

Abrimos el archivo C:\xampp\apache\conf\extra\httpd-vhosts.conf que en lo sucesivo será uno de nuestros elementos claves para crear nuestros dominios locales. Hagamos una primera edición con cualquier editor de textos, con las siguientes líneas:

Primero descomentamos la linea:

Siguiente, agregamos esto:

 

Las líneas anteriores nos permitirán que sigamos teniendo dispinible el acceso al Panel Administrativo Webde XAMPP escribiendo en el navegador: http://localhost

NOTA: Borrar los virtual host de ejemplo que vienen en el archivo original o dejarlos comentados

Lo que acabamos de hacer fué señalarle a XAMPP dónde se encuentra ubicado nuestro localhost. Con este método podemos cambiar la posición de los archivos, pero no es recomendado.

Expliquemos qué significa cada línea:

  • <VirtualHost *:80>: Define que de todos los dominios que corran en el puerto 80, existirá uno denominado “localhost” (ServerName) en caso de solicitar esa url.
  • ServerAdmin webmaster@localhost: Es el usuario del administrador del servidor. Para los fines de nuestros proyectos, habitualmente no será necesario modificar esta información.
  • DocumentRoot “C:\xampp\htdocs”: Es la ruta exacta hasta nuestros archivos. Este dato es importante.
  • ServerName localhost: Es el dominio que escribiremos en nuestro navegador. De manera que si escribimos la url “http://localhost”, se desplegará todo lo que tegamos en ese dominio.
  • ErrorLog “logs/localhost” / CustomLog “logs/localhost” common: Crean y guardan los log con los errores que se pudieran producir con nuestro website.

 

¿Ahora, cómo lo haríamos con nuestro website? Debajo del virtual host anterior, agregamos esto:

 

Como puedes observar debemos crear previamente la carpeta c:\proyectosweb y dentro de la misma curso en tu sistema de archivos.

De manera que dentro de “c:\proyectosweb” tenemos el folder “curso” y al escribir la url “http://curso.loc” se desplegarán los archivos de nuestro proyecto1 tal como si lo vieramos online.

Antes de lanzar nuestro navegador para probar lo descrito, debemos cumplir un último paso, que será el segundo más importante después de editar el archivo “httpd-vhosts.conf”, editar el archivo “hosts” .

Luego buscamos:

C:\WINDOWS\system32\drivers\etc\hosts

Lo abrimos con cualquier otro editor de textos y agregamos la línea (con todo y espacio):

127.0.0.1 curso.loc

Lo guardamos, reiniciamos Apache en el Control Panel de XAMPP, y enseguida ya tenemos nuestro virtual host funcionando.

 

Extra. Activar VirtualHost en Red local

Este paso ex opcional. Luego de activar vhost en nuestra máquina, ahora es tiempo de ver “http://curso.loc” en otra computadora de nuestra red. Si aplicamos la url en el navegador de otra computadora, no encontrará nada porque recordemos que usamos un dominio sólo funcional en nuestra Maquina local (localhost).

Veamos la línea que agregamos en nuestro archivo “hosts”:

127.0.0.1 curso.loc

La IP “127.0.0.1? está asignada por defecto y exclusivamente al localhost en Windows y Linux. Necesitamos reemplazar esa IP por la que tengamos asignada en System Preferences > Network. En mi Maquina tengo asignada la IP “192.168.1.100?, por lo que aplicaré esa:

192.168.1.100 curso.loc

Recomendamos usar IP’s fijas en vez de dinámicas, para evitar confusión en las computadoras de la red.

Ahora, a menos que tengamos instalado un Windows Server, no disfrutaremos de un servidor DNS local, lo que nos obliga a que por cada Máquina que exista en nuestra red local, deberemos agregar la línea “192.168.1.100 curso.loc” en los “hosts” de cada computadora.

En Windows XP (y supongo que Windows 7 también) se encuentra en “C:\WINDOWS\system32\drivers\etc“.

Puede suponer una molestia agregar esa línea cada vez, pero entendamos que a menos que seamos una empresa de desarrollo con clientes constantes, para pruebas personales sería lo más simple, ya que no estaremos agregando websites de clientes con tanta frecuencia.

 

Actividad.- Copie el archivo hola.php a su nuevo directorio de documentos web del proyecto curso.loc y verifique que funciona la ejecución del mismo escribiendo en el navegador: http://curso.loc/hola.php

 

Por el momento es todo. Ya tenemos instalado nuestro servidor de Desarrollo Local en nuestro equipo. Y hemos comprobado que funciona nuestro dominio de proyecto curso.loc donde trabajaremos a lo largo y ancho del presente Curso Básico de PHP.

En la siguiente entrega nos adentraremos a el lenguaje propiamente, y haremos una serie de ejemplos prácticos para que vayas reafirmando tus conocimientos. La ventaja de este curso es que no necesitas Aprender en Inglés, sino en español

NOTA: El módulo 2 lo dividiremos en varias entrega pues es mucho más extenso que este módulo inicial. Recomiendo repasar el libro web de HTML para no detenernos en explicaciones de etiquetas HTML.

Temario del Modulo 2 Sintáxis PHP

2.1 Tipos de datos, variables, contantes, comentarios…
2.2 Alcance de variables, globales, superglobales.
2.3 Estructuras de Control (IF-ELSE-ELSEIF, While, do…While, for, Switch,..)
2.4 Arreglos, Funciones
2.5 Introducción a lo Formularios Web

Hasta la próxima, si tienes comentarios, ideas de como mejorar el curso, etc. No dudes en contactarme cursos@ciberlinea.net

Modulo1 Curso Basico PHP 5 Modulo 1

Artículos relacionados:

  1. Introduccion Curso Basico de PHP

Publicaciones relacionadas

  1. Introduccion Curso Basico de PHP

Sin Comentarios.