20090424-php-logo

Si están interesados en aprender este poderoso lenguaje de programación y en tener a la Web 2.0 en sus manos, (mas precisamente en sus dedos : ), sigan leyendo…

¿Que es un programa?

Un programa es, en términos simples, una sucesión de instrucciones que una computadora obedece.

Entonces ¿Qué es programar?

Programar es justamente darle esas instrucciones a la computadora. Pero la computadora, como intuirán después de haber visto Matrix , solo lee unos y ceros, o lenguaje maquina como se le dice. Pero como este lenguaje es extremadamente difícil de entender para un humano es necesario utilizar otro tipo de lenguaje para dar estas instrucciones. Ahí es donde nacen los lenguajes de programación, y PHP es uno de ellos. En este caso uno orientado hacia la programación de sitios web.

Sitios Dinámicos y Modelo Cliente/Servidor

Antes de empezar este tutorial es importante tener en cuenta que para programar en php necesitaremos aunque sea un dominio básico de HTML. Para lo cual he comenzado simultáneamente en este mismo blog un tutorial de diseño web que les será útil para obtener los conocimientos previos necesarios.

Ya aclarado este paso supongo que el lector tendrá una noción de que es una página web. Entonces lo que quiero remarcar ahora es la diferencia entre una página estática y una página dinámica.

Una pagina estática es un documento (no un programa) escrito en (x)html y que tiene la principal característica de mostrarse siempre de la misma forma.

En cambio una página dinámica tiene la capacidad de interactuar con el usuario y/o con una base de datos y en base a esas interacciones mostrar su contenido de manera dinámica. Si varias de estas paginas están relacionadas entre si, decimos que estamos entonces ante un sitio dinámico. Como por ejemplo un CMS, un blog, un foro, un browsergame, etc… A este tipo de paginas si podemos llamarlas programas.

Las páginas dinámicas también utilizan xhtml en su estructura base. Pero además utilizan otros lenguajes de programación (el xhtml no es un lenguaje de programación). Estos lenguajes pueden ejecutarse tanto del lado del cliente, o sea en el navegador (Explorer, Firefox, OPERA, Safari, etc…), como del lado del servidor, o sea en el hosting donde tenemos almacenado nuestro sitio.

PHP se corresponde a estos últimos. O sea que para ejecutar un script php necesitaremos un software servidor como Apache o IIS que soporte su intérprete. Ya que php es un lenguaje interpretado.

Otra particularidad de PHP, y de todos los lenguajes del lado del servidor, es que las páginas generadas con PHP llegan al navegador como HTML.

Esto tiene dos ventajas, la primera es que nuestro código permanece seguro en el servidor y la segunda que no requerimos la instalación de ningún plugin en el navegador para utilizar nuestra aplicación web.

Características de PHP

PHP, como antes mencione, es un lenguaje de programación para web, interpretado y que se ejecuta del lado del servidor. Pero además de eso es un lenguaje Open Source (o sea que todo el mundo puede acceder a su código, modificarlo y redistribuirlo), liviano (es uno de los lenguajes de scripting mas livianos de la actualidad, algo muy importante para aplicaciones o sitios con muchos miles de usuarios), popular (la mayoría de los CMS, sistemas de foros, de ecomerce, y demás aplicaciones web open source de la actualidad, están programados en PHP), orientado a objetos (algo que explicare mas adelante) y extensible (podremos ampliar sus capacidades con librerías, apis y frameworks).

Otra de las características de PHP es la rapidez con la que podemos aprenderlo. Realmente es de los lenguajes basados en la sintaxis de C, uno de los más sencillos. Aunque no por esto poco potente. Aún así, en lo personal, no me parece el lenguaje idóneo para alguien que esta aprendiendo a programar. Ya que al ser un lenguaje orientado a programación web y no un lenguaje de propósito general, se nos quedan afuera ciertas características como le interfaz de usuario, los eventos, la multitarea, etc.…Cosas que todo programador debe comprender. Así que si están comenzando, quizás C o Java sean opciones más recomendables. Pero cuidado ambos lenguajes son terreno hostil para novatos. Y en caso de que veamos que necesitamos algo más sencillo, Visual Basic.net será una buena opción. De todas formas la eterna pregunta ¿Qué lenguaje aprender? solo puede ser respondida si primero nos preguntamos ¿Qué queremos programar?.

Pero ya me estoy yendo por las ramas, volviendo a PHP, otra de sus características es que a diferencia de otros lenguajes como Java o Visual Basic, no es mantenido por una empresa (como serian Sun/Oracle y Microsoft en los casos anteriores) sino que es mantenido por una comunidad “acéfala” de programadores independientes, aunque por supuesto, bien organizados.

Para los que $iempre pien$en en $$$, php es de los lenguajes de programación uno de los mejores si lo que buscamos es una rápida salida laboral bien remunerada.

¿Qué necesitamos para programar en PHP?

Un editor de texto sencillo (como el bloc de notas o Notepad++, preferiblemente el segundo) o mejor aún un IDE (Entorno Integrado de Desarrollo), o sea un programa que estructurara y corregirá lo que vayamos codificando. El que usaremos para este tutorial es el Eclipse, un IDE multilenguaje, profesional, gratuito y open source que pueden descargar desde eclipse.org (no sean bol#&s, bájense la versión para php no para java). Con el escribiremos nuestro código fuente y haremos nuestros “milagros”.

Pero el eclipse es solo una parte de nuestros requerimientos ya que como mencione antes, PHP necesita un software servidor para ejecutarse. Por un lado requeriremos un servidor web como Apache y también un servidor de bases de datos como MySQL. Para obtenerlos tenemos dos opciones, conseguir una cuenta de Hosting, aunque sea en un servidor gratuito pero que soporte PHP y MySQL como Iespana e ir subiendo nuestros archivos php vía ftp a este. La otra alternativa, y la que utilizaremos para este tutorial, será montar todo esto en nuestra maquina local. Esto no es para nada difícil y lo haremos con el paquete de software XAMP que podemos descargar desde http://www.apachefriends.org/es/xampp.html ahí verán que tiene 2 opciones la versión Lite y la Full a nosotros por ahora nos sobra con la Lite. El instalador es un exe y solo debemos ejecutarlo no hay que configurar nada, solo lo descomprimimos, recomiendo hacerlo en el “C:\”. Despues de eso vamos a la carpeta donde se descomprimió y le damos doble clic a setup_xampp.bat. Luego, y solo por una cuestión de practicidad, creamos un acceso directo a xampp-control.exe que se encuentra en la misma carpeta. Con ese acceso directo podremos abrir el siguiente panel de control:

panel_de_control_xampp

Desde ahí le damos ‘start’ a Apache y a MySQL si no están corriendo ya. Si ambos se iniciaron al lado de ellos dirá ‘Running’. Si Apache no quiere iniciar destilden el check que dice ‘SVC’. Como última comprobación de que todo funciona hagan clic en ‘admin.’ en el “renglón” del Apache. Si todo funciona se abrirá su navegador por defecto y se mostrara lo siguiente:

xampp_welcome

Para que nuestros scripts se ejecuten tendremos que cargarlos dentro del directorio “htdocs” que se encuentra en el directorio donde descomprimimos el xampp. Si me hicieron caso e instalaron en “C:\”, ese directorio se encuentra en “C:\xampplite\htdocs\”. Recuerden que cerrar el panel de control de xampp no cierra los servicios Apache y MySQL que seguirán funcionando y usando recursos del equipo, así que si no los van a usar mas deténganlos con el botón ‘stop’ antes de cerrar el panel de xampp con el botón ‘exit’.

Bueno si ya descomprimieron el xampp y accedieron a su página principal ya esta funcionando, déjenlo así (pueden cerrar el navegador). Ahora tenemos que dejar listo el Eclipse.

Lo primero que notaran es que el Eclipse no se instala, solo lo descomprimimos y listo. Una vez descomprimido accedemos a su carpeta y ejecutamos “eclipse.exe” (les conviene hacer un acceso directo a este archivo), ni bien se abra (el eclipse tiene bastante código java, lo que es sinónimo de leeeento) nos va a preguntar donde queremos colocar nuestro “workspace” o sea la carpeta donde iremos creando nuestros proyectos. Nosotros configuraremos esta carpeta como “C:\xampplite\htdocs\” (si es que descomprimimos el xampp en “C:\”). Después de configurar esto nos recibirá la siguiente pestaña:

primeracapturaeclipse

Ahora la cerramos (cuidado no cierren el programa, nada mas que la pestaña) e iremos a “File/New/PHPproject” en caso de que en lugar de tener la opción de “PHP Project” tengamos la opción Java Project (cosa que puede llegar a pasar si también tenemos la opción java del eclipse), vamos al menú “File/New/Project…” y en la ventanita que se abre seleccionamos “PHP/PHP Project”. Se cual sea la opción que elijamos de las dos anteriores se nos va a abrir la siguiente ventana:

nuevoproyecto

En ella solo vamos a colocarle un nombre al proyecto en el campo superior, y no tocamos nada mas, ahora le damos “Finish” (repito le damos finish, no next), y listo, ya tenemos nuestro proyecto creado (notemos que aparece en la ventana de la derecha). Ahora necesitamos crear un archivo PHP donde escribir nuestro código. Para eso vamos a “File/New/PHP File” y ahora en la ventana que se abre elegimos una carpeta para nuestro archivo, que será la misma del proyecto, para eso hacemos clic en “Browse” y en la ventana que se abre le damos “OK” sin tocar nada mas. Le asignamos un nombre al archivo y le damos clic a “finish”.

Ahora habrá aparecido el recién creado archivo en la pestaña del centro, y también en la de la izquierda. Ya tenemos todo listo para empezar a programar.

TIP: Los que tengan maquinas viejas y el eclipse se les arrastre demasiado pueden usar Notepad++, un sencillo editor de texto optimizado para programadores, y muy liviano.

Hello World!

Y si, era muy predecible, pero es de mal agüero que no empecemos con el clásico mensaje. Nuestro código para tal proeza será el siguiente:

<?php

/*el clásico mensaje*/

echo (“Hello World”);

?>

Para poder ejecutarlo oprimimos la flecha verde de la barra de tareas, o vamos al menú “Run/Run” u oprimimos CTRL+F11. De cualquier forma una ventanita nos va a dar a elegir si queremos ejecutarlo como “PHP Script” o como “PHP Web Page”; nosotros elegiremos esta última. Si hicimos todo bien (y si xampp esta ejecutándose), veremos lo siguiente:

helloworld

Como ven no tenemos que salir del eclipse para poder probar nuestras paginas php. Ahora regresemos al código.

Lo primero que tenemos que notar es que todo el código php siempre estará encerrado entre “<?php” y “?>”. Y da lo mismo si lo colocamos en una línea o en varias (siempre es mas cómodo de la segunda forma). Así que nuestro código, aún escrito de la siguiente manera da el mismo resultado:

<?php /*el clásico mensaje*/ echo (“Hello World”); ?>

La parte que se encuentra entre /* y */ es un comentario y no es tenido en cuenta por el interprete php, no es obligatorio colocarlo y tampoco aparece en la página final. Pero es útil para recordar para que sirve cada parte de nuestro código, dejar notas a otros programadores que vayan a utilizarlo o en este caso ir comentando el código que les muestro con el fin de que lo entiendan mejor.

Ahora entendamos el resto del código. La parte que dice ‘echo (“hello World”);’. Es una instrucción que le damos al interprete php. Y como toda instrucción debe terminar con ‘;’. Pero entonces, ¿que instrucción le dimos a PHP?. Le ordenamos imprimir una cadena de caracteres en el navegador.

Así, si vemos el código HTML de la pagina, veremos que solo dice Hello World, esto, como dijimos antes, se debe a que las paginas php siempre llegan a nuestro navegador como HTML puro.

Quiero hacer un alto en la función ‘echo’. Si bien nosotros veremos el tema funciones mas adelante, es importante remarcar a la función ‘echo’ ya que la utilizaremos todo el tiempo par imprimir textos en pantalla. Funciona de la siguiente forma:

<?php

/*ahora imprimiremos “texto que queremos mostrar” en la pagina*/

echo (“texto que queremos mostrar”);

?>

Noten que el texto a mostrar se encuentra entre “” esto es así porque las palabras son un tipo de dato ‘String’. Más de esto a continuación:

Datos y sus tipos

En programación un dato no es más que un valor como ser una letra, una palabra (o varias), un número, una fecha o un valor de verdad (verdadero o falso). Estos son los principales tipos de datos:

char: Es un dato que representa a una letra.

String: No es un dato puro, sino que es un arreglo de chars; se lo utiliza para palabras, oraciones o textos completos. Nótese que es el único tipo de dato que se escribe en mayúscula.

int: Se utiliza para números enteros.

float: Se utiliza para números con decimales.

boolean: Se utiliza para los valores de verdad verdadero y falso (o mejor dicho TRUE or False).

date: Se utiliza para fechas.

Ahora la pregunta es ¿Dónde se almacenan esos datos?. He aquí la respuesta:

Variables

Una variable es un lugar reservado en la memoria que sirve para almacenar valores. Cada variable tiene un nombre (precedido por ‘$’) y solo puede almacenar un tipo de dato. Su utilización es la siguiente.

<?php

/*ejemplo de String*/

$nombre = “Juan Pérez”;

/*ejemplo de boolean*/

$elBlogEstaGenial = TRUE;

/*ejemplo de int*/

$edad = 20;

/*ejemplo de float

$cotizacionDolar = 3,76;

?>

Aquí creamos variables con diferentes tipos de datos y en la misma instrucción les asignamos un valor. Por ejemplo a la variable ‘nombre’ le asignamos el valor ‘Juan Pérez’ en la misma instrucción. Pero también podemos crear una variable en una instrucción y asignarle un valor en otra. Podemos cambiar el valor de una variable cuantas veces queramos siempre y cuando respetemos el tipo de dato correspondiente. Por ejemplo:

<?php

/*declaro la variable*/

$nombre;

/*le cargo un valor*/

$nombre = “Pepe”;

/*le cargo otro valor que reemplaza al anterior*/

$nombre = “Pedro”;

/*imprimo la variable con la función echo*/

echo ($nombre);

?>

Ejecuten el código anterior y vean cual es el resultado. Noten que podemos utilizar la función ‘echo’ para imprimir variables en pantalla. También podemos combinar texto y variables de la siguiente manera:

<?php

/*definimos la variable ‘colorPared’ y la inicializamos en ‘verde’*/

$colorPared = “verde”;

/*definimos la variable ‘colorPuerta’ y la inicializamos en ‘amarilla’*/

$colorPuerta = “amarilla”;

/*imprimimos las variables combinándolas con otro texto*/

echo (“la pared es “.$colorPared.” y la puerta “.$colorPuerta);

?>

Noten que introdujimos el texto entre comillas como siempre, y separadas por un punto, las variables, directamente sin comillas. Así podemos ir combinando los textos y variables que queramos. Aunque lo siguiente también es valido.

<?php

/*definimos la variable ‘colorPared’ y la inicializamos en ‘verde’*/

$colorPared = “verde”;

/*definimos la variable ‘colorPuerta’ y la inicializamos en ‘amarilla’*/

$colorPuerta = “amarilla”;

/*imprimimos las variables combinándolas con otro texto*/

echo (“la pared es $colorPared y la puerta $colorPuerta”);

?>

Bueno hasta acá todo por hoy, la próxima operadores matemáticos y diferentes tipos de variables. Mientras prueban los ejemplos y si pueden modifíquenlos un poco para lograr diferentes efectos. Les dejo de tarea colocar HTML como texto de salida en la función echo. Salu2.

Study

Creative Commons License
Tutorial: Programación web con PHP (parte 1) by Stadius Iván is licensed under a Creative Commons Atribución-No Comercial-Compartir Obras Derivadas Igual 3.0 Unported License.
Based on a work at www.creosignum.com.
Permissions beyond the scope of this license may be available at http://www.creosignum.com.