Aunque el HTML es el lenguaje de la web, crear páginas directamente con HTML tiene muchas limitaciones. HTML no es un lenguaje de programación, únicamente de marcado; sirve para indicarle al navegador qué es un párrafo, un enlace o una imagen, pero no sabe nada de variables, bucles y demás funcionalidades habituales de programacion.
En la actualidad, las páginas web se crean con un lenguaje de programación propiamente dicho, que se utiliza para generar HTML. Los leguages de programación para web más empleados son PHP, JSP o Python y habitualmente emplean además una base de datos como MySQL, Postgres u Oracle. En general, los navegadores no interpretan en absoluto estos lenguajes, sino lo hace el servidor que alberga las páginas. Cuando el usuario solicita una página web a un servidor, en lugar de enviarla directamente el servidor interpreta el código y genera como resultado una página en HTML que es lo que recibe el usuario y lee su navegador.
Puesto que estos leguajes son siempre interpretados por el servidor, ya no basta con tener un navegador para ver los resultados, hay que tener un servidor web que separ interpretar el lenguaje empleado que luego veremos en nuestro navegador.
PHP es el lenguaje más usado en internet, especialmente con una base de datos MySQL en un servidor Apache, por lo que necesitaremos un servidor Apache con PHP y también un servidor MySQL para ejecutar nuestros programas.
Un servidor LAMP (Linux+Apache+MySQL+PHP) se puede instalar como usuario siguiendo la guía de la SIEpedia. Para ordenadores con Windows, la opción más sencilla es instalar el WAMP5.
Antes se empezar con PHP, hay que sabr un poco de HTML. Si no lo tienes muy fresco puedes ver un curso básico de HTML y CSS en la SIEpedia.
PHP es un leguaje de de scripts que se se incrustra entre el HTML para producir un resultado. Las páginas que contengan PHP, deben tener extensión .php para que el servidor sepa que las debe interpretar. Todo el código en PHP debe estar encerrado entre etiquetas <?php y ?> y el resto puede ser HTML. Un página básica con PHP es la siguiente:
El resultado de esto, que es lo que verá el navegador será el siguiente código:
Las variables se denotan empezando con $, para las que vale cualquier cadena que no empiece con número. Los comentarios se pueden poner línea a línea con # o //, o se puede comentar un bloque encerrándolo entre /* y */ al estilo de C:
La indentación no es obligatoria en PHP, pero todas las sentencias deben terminar por ;. Como se ve en el ejemplo anterior, se puede imprimir una cadena o el valor de una variable con echo, aunque también se puede usar print o printf. Hay que tener en cuenta que las variables distinguen entre mayúsculas y minúculas.
En PHP, las variables se declaran en el momento de usarlas y no es necesario indicar de qué tipo son (string, float, etc.). Si una variable contiene elementos alfanuméricos, es una cadena de texto:
En el segundo ejemplo se muestra cómo se pueden concatenar variables con un punto.
PHP posee muchas funciones para tratamiento de cadenas. Aquí hay algunos ejemplos:
Para eliminar los espacios en blanco al principio o al final uso trim, o ltrim y rtrim para hacerlo sólo a la izquierda o derecha respectivamente. Estas funciones tambien eliminan caracteres especiales como tabulador \t, nueva línea \n, retorno de carro \r.
Para trocear una cadena de texto, se puede usar substr($cadena, n_inicio,n_longitud), un ejemplo:
Las funciones strtoupper y strtolower se usan para pasar todo a mayúsculas o minuculas respectivamente. ucfirst() y ucword() pasan a maýuscula la primera de la cadena y la primera letra de cada palabra:
Los valores numéricos, y en algunos casos a las cadena de texto, se le pueden aplicar los operadores habitules en programación:
Operadores de Comparación:
$a < $b $a menor que $b
$a > $b $a mayor que $b
$a <= $b $a menor o igual que $b
$a >= $b $a mayor o igual que $b
$a == $b $a igual que $b
$a != $b $a distinto que $b
Operadores Lógicos:
$a AND $b TRUE si ambos son ciertos
$a && $b Equivalente a AND
$a OR $b TRUE si alguno de los dos es cierto
$a !! $b Equivalente a OR
$a XOR $b TRUE si sólo uno de los dos es cierto
Operadores de Asignación:
$a = $b Asigna a $a el contenido de $b
$a += $b Le suma a $b a $a
$a -= $b Le resta a $b a $a
$a *= $b Multiplica $a por $b y lo asigna a $a
$a /= $b Divide $a por $b y lo asigna a $a
$a .= $b Añade la cadena $b a la cadena $a
Para variables numéricas tambien se pueden aplicar operadores aritméticos:
$a + $b Suma $a - $b Resta $a * $b Multiplicación $a / $b División $a % $b Resto de la división de $a por $b $a++ Suma 1 a $a $a-- Resta 1 a $a
Los arrays (o matrices o tablas) son como variables multidimensionales
A cada elemento del array está asociado un índice, empezando por cero:
Sin embaro, en lugar de usar índices, se pueden crear arrays asociativos, en los que cada elemento tiene asociado un nombre:
Cuando se manipulan muchos datos clasificados, es muy útil emplear arrays multidimensionales:
Ver las muchas funciones de arrays en PHP en el manual oficial: http://es2.php.net/manual/en/ref.array.php
Las estructuras de control son la manera en que los programas toman decisiones o hacen una u otra operación. PHP posee las estructuras de control habituales en programación:
Es el más común. Ejecuta una sentencia si se verifica; si no se verifica se ejecuta else, si se incluye:
también se puede usar elseif para dar mas opciones:
ejecuta la sentencia mientras se verifique una condición:
Un forma distinta de hacer un while:
Es una forma similar de de if/else, más cómoda de usar si se tienen varias opciones:
Similar a for, muy útil para los arrays:
La funciones se declaran con function, asignándole un nombre y variables, si las necesita:
Las variables en PHP sólo se mantienen definidas en la página actual; en cuanto el script de PHP finaliza, la variable se eliminada de la memoria. Esto quiere decir que si en una página definimos una variable $type, no lo estará en otra. Sin embargo, se pueden pasar variables y sus valores por usando los métodos GET o POST mediate la URL o formularios.
Un ejemplo de envio de variables por el método GET (por la URL) es el siguiente:
aqui se están enviando las variables type, mag y flux y sus valores, "galaxy", "19" y "120", respectivamente.
Otra manera es usando un formulario con el método POST:
los valores que se envian, se guardan en un array especial $_GET o $_POST, según el método utlizado.
Aquí se listan algunas funciones importantes para el tratamiento de fichero.
Para abrir un fichero:
siendo modo la forma en que se abre el fichero:
la referencia que devuelve fopen, se usa luego en las otras funciones de ficheros como fgets, fputs, fclose, fread o fwrite.
LA funcion file_get_contents() pasa a una cadena todo un fichero de texto (incluyendo una URL) y file() lo lee línea a línea en un array. En ejemplo:
y para escribir en un fichero:
Aquí va un ejemplo:
Aunque el objetivo es trabajar con MySQL desde PHP, aprederemos las ordenes principales de MySQL desde la consola: