Mostrando entradas con la etiqueta programación. Mostrar todas las entradas
Mostrando entradas con la etiqueta programación. Mostrar todas las entradas

lunes, 23 de marzo de 2009

Curso básico de programación con PHP (3) - Nuestro primer script

Los ficheros que contienen código PHP suelen, por norma general, tener la extensión .php. En algunas sitios veréis extensiones como .phtml (que indica que hay código PHP dentro de HTML), .php3 (para indicar que es PHP version 3), etc, pero nosotros solamente vamos a utilizar .php porque realmente la extensión no afecta a la ejecución y es meramente cosmético.

Vamos a ver lo primero que hay que aprender sobre la sintaxis de PHP: todo código PHP ha de ir entre una de las siguientes etiquetas (tags):

  • <? ?> (es el que siempre uso yo)
  • <?php ?> (también es bastante común)
  • <script language="php"> </script> (no lo he visto en mi vida en una página)

Ejemplo:

<?
echo "HOLA MUNDO";
?>

Esas etiquetas son la manera que tiene el servidor web de identificar código PHP dentro de una página, si no, por defecto, va a interpretar todo el código como si fuera texto normal. En el ejemplo anterior, si quitásemos los tags, no se ejecutaría la función "echo" (es una función que se encarga de mostrar por pantalla el contenido que le sigue, en este caso "HOLA MUNDO"). Es decir, veríamos en nuestro navegador echo "hola mundo" en vez de simplemente hola mundo ya que el servidor web no podría distinguir que eso es código PHP y que queremos que lo ejecute (o mejor dicho, el servidor web no va a llamar al intérprete de PHP para que lo ejecute).

Antes de seguir adelante quiero que todos hagáis el ejemplo anterior. Para ello vamos a suponer que instalasteis XAMPP en la carpeta "c:\xampplite". Dentro de esa carpeta encontraréis otra llamada htdocs. Esa carpeta htdocs es el "document root" por defecto de XAMPP.

¡Nota!: El document root es el lugar donde el servidor web va a buscar las páginas que, por ejemplo, queramos visualizar en nuestro navegador. En un servidor web podemos encontrar múltiples "document root", por ejemplo dependiendo del dominio que visitemos (os recuerdo que un mismo servidor web puede alojar múltiples dominios) o por el puerto que accedamos a él (http://www.ejemplo.com:8080, donde 8080 es el puerto).

Pues bien, en esa carpeta htdocs crearos otra carpeta con el nombre que queráis (por ejemplo "cursophp"). Ahí es donde vamos a ir poniendo los diferentes scripts (páginas PHP) que vayamos haciendo. Un vez nos hayamos situado en la carpeta "cursophp" creamos en ella el fichero "tags.php" con el contenido del ejemplo anterior.

Recordad que el fichero tiene que ser texto plano. No vale crearlo con Word y después simplemente cambiarle la extensión a .php, ya que MS Word crea un fichero binario y no de texto. Usad el Notepad o el Notepad++ que os recomendé más previamente.

Llegó el momento de la verdad jejejeje, para ver vuestra primera página hecha con PHP tendréis que ir a esta dirección

http://localhost/cursophp/tags.php

¿Podéis leer el texto "HOLA MUNDO"?...pues enhorabuena, ya habéis creado vuestro primer script de PHP :)

¡Importante! Mucho cuidado con las mayúsculas, en sistemas Linux (es la plataforma usada mayoritariamente por los servidores web) hay distinción entre mayúsculas y minúsculas. Así que tags.php no es lo mismo que Tags.php o tags.Php y si lo ponéis mal en la barra de direcciones os dará error. Como estamos trabajando en Windows da igual como lo pongáis pero acostumbraos a poner exactamente el mismo nombre.

Ahora una curiosidad. Lo que he puesto de "Hola mundo" tiene su razón de ser. Por lo general, cuando se aprende un nuevo lenguaje, el primer ejemplo que se suele hacer es un simple "Hola mundo" (o "Hello world" en la versión inglesa). Es simplemente el primer paso para ver como funciona el nuevo lenguaje que queremos aprender.

miércoles, 18 de marzo de 2009

Curso básico de programación con PHP (2) - El entorno de trabajo

Al igual que el HTML, el código PHP de una aplicación está simple y llanamente creado con texto plano, es decir, podemos usar cualquier editor de texto para programar, el bloc de notas de Windows (Notepad) por poner un ejemplo. El problema del Notepad es que es un editor muy limitado y para 10 líneas de código es suficiente, pero cuando son miles...puede ser una locura. Hay otros editores gratuitos más potentes que, por ejemplo, colorean la sintaxis (según el lenguaje que estés usando pone unos colores u otros a las palabras) que ayuda muchísimo a la hora de hacer legible el código.

Cuando hay diseño de por medio a mí me gusta utilizar el editor Dreamweaver, pero para código PHP puro y duro prefiero otros editores como Ultraedit o Editplus (los dos son de pago), que son más livianos. Un editor que es gratuito y muy completo es el Notepad++ . Os recomiendo que lo instaléis para hacer vuestros próximos ejercicios.

http://notepad-plus.sourceforge.net/uk/site.htm

Nosotros NO vamos a trabajar en principio directamente en un servidor de "producción". ¿Qué significa eso de servidor de "producción"?, pues estamos hablando del servidor que va a alojar nuestras aplicaciones web una vez las hayamos finalizado y al que tendrá acceso el usuario final (en nuestro caso los internautas).

En el mundo laboral no se debe desarrollar sobre un servidor en modo "producción" (o al menos no se debería hacer aunque a veces no queda más remedio), ya que si te equivocas en algo esto puede afectarle a muchos usuarios. Así que por lo general se trabaja en local, es decir, las pruebas se efectúan en el propio ordenador del programador o en un servidor de "desarrollo" que compartan varios programadores.

Así que ese es el siguiente paso a realizar, instalar en nuestro ordenador un servidor web interconectado con PHP y para futuros ejercicios también la base de datos MySQL.

Cuando empecé a programar en PHP instalaba por separado el servidor Apache, Mysql y PHP y los configuraba para trabajar juntos. No es que fuera muy complicado, solamente había que seguir ciertos pasos, pero lo cierto es que desde que apareció Xampp es absurdo perder el tiempo en eso.

Pero, ¿Qué es Xampp?. Xampp es un conjunto de aplicaciones orientadas al desarrollo web y unificadas en un solo paquete para que la instalación sea mucho más sencilla. Con Xampp instalaremos de un plumazo el servidor web apache, PHP, MySQL, ProFTPD entre otras aplicaciones. Existen versiones para Windows, Linux, Solaris y Mac OS X aunque nosotros usaremos la versión de Windows ya que es el Sistema Operativo más usado en los ordenadores "caseros".

Dentro de la versión Windows nos encontramos con dos versiones. XAMPP y XAMPP LITE. La diferencia principal entre las dos estriba en el número de aplicaciones incluidas en cada una de ellas y que mientras que la versión "normal" se instala como un programa más, la versión lite simplemente hay que descomprirla en una carpeta y listo. Para nuestro propósito XAMPP lite cumple con creces los requisitos de desarrollo y es la que vamos a instalar.

Para ello id a la página oficial de XAMPP, bajad hasta la sección XAMPP Lite y descargad el ejecutable "EXE (7-zip)" (podéis bajaros si queréis la versión ZIP, pero el tamaño del fichero es bastante mayor).

Una vez hayáis descargado el fichero, ejecutadlo y elegid donde descomprimir el contenido. Si elegís un directorio diferente a la raíz de una unidad, es decir, un destino diferente a "c:\" o "d:\" por ejemplo, tendréis que realizar un paso más a la hora de hacer operativa nuestra aplicación XAMPP. Ese paso consiste simplemente en ejecutar el fichero "setup_xampp.bat" que encontraréis en el directorio donde habéis descomprimido XAMPP. Una vez hecho eso, o directamente si habéis instalado XAMPP en la raíz de la unidad, ejecutad el fichero "apache_start.bat". Si todo ha ido bien os encontraréis ante una ventana como esta:

Es posible que el firewall de Windows os pregunte si queréis bloquear o no el servidor Apache. Obviamente le daremos a desbloquear para poder utilizarlo.

En esta ocasión solamente hemos "levantado" (como se denomina en la jerga informática al hecho de ejecutar un servidor) el servidor Web y no otros servidores como MySQL, ya que por el momento es lo único que vamos a necesitar para nuestras prácticas.

Para comprobar que todo ha ido correctamente lo que vamos a hacer es abrir un navegador, introducir en la barra de direcciones lo siguiente: "http://localhost" y si os aparece esta página:

entonces es que todo ha ido bien y ya podemos ponernos manos a la obra :)

¡Importante! En Windows Vista, por defecto, la dirección "http://localhost" no va a mostrar ninguna página. Eso es porque esa dirección no está mapeada con nuestra IP local. Podemos hacer dos cosas, introducir directamente la IP local, es decir "http://127.0.0.1" o abrir en modo administrador el fichero "C:\Windows\System32\drivers\etc\hosts" y añadir la siguiente línea al final: 127.0.0.1 localhost

Ahora que ya tenemos nuestro editor y nuestro servidor web instalados ya podemos continuar con el resto del tutorial y empezar ya a programar. Pero eso ya será en el próximo capítulo :)

sábado, 14 de marzo de 2009

Aplicando buenas técnicas de programación

Quería descargarme el nuevo navegador Opera (la versión 10) y me he topado sin querer con este interesante artículo (en inglés) donde se explican diferentes técnicas para hacer un código Javascript eficiente, robusto y legible.

Aunque está enfocado al lenguaje de programación Javascript lo cierto es que son en su mayoría reglas universales que se pueden aplicar a cualquier otro lenguaje.

Si eres un programador veterano y no aplicas estas técnicas ya es hora de "renovarse" y actualizar tu forma de programar y si eres "novato" es un buen momento para empezar a programar usando estas directrices que, aunque al principio nos parezca que complican las cosas, al final nos ahorrarán muchos quebraderos de cabeza.

Espero que disfrutéis con la lectura.
http://dev.opera.com/articles/view/javascript-best-practices/

jueves, 12 de marzo de 2009

Curso básico de programación con PHP (1)

No sabía muy bien como empezar este curso ya que partimos de casi cero, así que al final he pensado que vamos a ser muy prácticos, sin ahondar mucho en la teoría y sin utilizar muchos tecnicismos. Al principio programar es muy frustrante y si encima metemos mucho rollo vais a abandonar a la primera de cambio.

Os voy a contar, eso sí, como funciona esto de las páginas web. Como ya he comentado alguna que otra vez, una página web se encuentra alojada en un servidor. Un servidor no es más que un ordenador, de hecho,como veremos en el siguiente capítulo, vuestros ordenadores pueden perfectamente usarse como servidores. La única condición para que el servidor muestre las páginas web es que tenga instalado un programa que se llama "servidor web" (o webserver en inglés). El servidor web más famoso y sobre el que corren la mayoría de sites en el mundo se llama Apache (http://httpd.apache.org).

Una página web no deja de ser texto puro y duro. Con cualquier editor de texto plano, como el notepad de Windows, puedes hacer una página web. El metaleguaje que se usa para crear una página web se llama HTML. Si sobre esta página web hacéis click con el botón derecho y seleccionáis "Ver código fuente" (o algo parecido) veréis el código HTML de la propia página. Aquí no vamos a aprender nada de HTML, eso se lo dejaremos a Bríd, por ahora vamos a centrarnos en PHP.

PHP es un lenguaje del lado del servidor. ¿Qué quiere decir eso?, pues que se ejecuta en el servidor y nunca en los ordenadores de los usuarios que están visitando la página web. Los lenguajes del lado del cliente son los que se ejecutan en los ordenadores de los usuarios y javascript es el más claro ejemplo de este tipo de lenguajes.

¿Por qué se usan lenguajes de programación?. Pues porque sin ellos todo sería "estático", los usuarios no podrían interactuar...imagináos este blog sin un lenguaje de programación ni una base de datos, por cada post tendríamos que crear una página nueva y después editarla con el notepad cada vez que hubiera un comentario nuevo. Eso sin contar los cambios en las estadísticas, etc,etc....vamos, sería inviable. Pues con PHP y una base de datos MySQL se puede hacer todo automáticamente, ¿genial no?

En el siguiente capítulo explicaré como instalar un servidor web en vuestro propio ordenador y así empezar a hacer vuestras primeras aplicaciones.