-=|=======================[ x-eZine #0 / Art. 010 ]=======================|=- -=|================[ Cursillo de iniciacion a PHP (I) ]===================|=- -=|==================[ By Chronoh ]====================|=- Parte 1 Powered by Chronoh. Contenidos: 1.Introducción a PHP 1.1.¿Qué es PHP? 1.2.¿Cómo funciona PHP? 1.3.¿Qué necesito saber para programar en PHP? 2.Conceptos básicos 2.1.Filosofía de PHP 2.2.Variables 2.3.Declaración de funciones. 2.4.Estructuras condicionales 3.Programando que es gerundio. 3.1.Un ejemplo típico: ¡Hola mundo! 3.2.Un sencillo formulario: comenzamos a implementar rutinas php dentro de html. Licencia: Este documento está concebido bajo la licencia GPL, puedes distribuirlo libremente siempre y cuando se mencione a su autor. --------------------- 1.Introducción a PHP. 1.1.¿Qué es PHP? PHP es un lenguaje de programación orientado al WWW, muy versátil, potente, en constante expansión, y una de las cosas que mas importa: es gratuito y de código abierto. PHP es un lenguaje utilizado para desarrollar sitios web de contenido dinámico, cosa que NO debemos confundir con el aspecto "dinámico" de un site, porque ya estaríamos hablando de efectos visuales, los cuales los podemos obtener con la utilización de DHTML (Dynamic HTML). Gran parte de la filosofía de PHP se basa en utilizar HTML (HyperText Markup Language), como salida visual de nuestras ordenes PHP. No te preocupes si no acabas de entender demasiado esta definición, nosotros nos encargaremos de hacertela entender mas adelante ;) 1.2.¿Cómo funciona PHP? El parser PHP, oséase, el programa que interpreta las órdenes PHP, es un módulo que funciona conjuntamente con el servidor web Apache, lo que nos da a entender, que todo el código PHP se ejecuta en el servidor, no en el browser del usuario, lo que da a desembocar, que dicho código no lo puede ver un usuario sencillamente descargando el archivo (evidentemente esto se cumplirá siempre que el servidor esté bien configurado). 1.3.¿Qué necesito saber para programar en PHP? Por fortuna para algunos, desgracia para otros, para programar en PHP, es prácticamente necesario conocer HTML, o como mínimo, tener una base sólida del mismo. Si no sabes HTML no te preocupes, en este cursillo te enseñaremos 'de paso' algunas directivas HTML para sacarte las castañas del fuego, no obstante, te recomiendo fervosamente que saques de algun lado un manual de HTML ya que será imprescindible para dar un buen acabado a tu sitio web ;). -------------------------- 2.Conceptos básicos 2.1.Filosofía PHP. Antes de entrar de pleno en materia, quisiera realizar unas aclaraciones iniciales: vamos a partir, de que estamos trabajando offline, dicho de otro modo, que tenemos instalado apache + php en nuestro equipo, no estamos trabajando en un servidor ajeno. La razón por la cual he tomado esta decisión, es porque muchos servidores que ofrecen el servicio de php, tienen restricciones, y según lo materia que estemos tocando, podríamos tener problemas a la hora de usar ciertas funciones. Ademas, con un servidor apache+php instalado en nuestro equipo, podemos aprender mas sobre el funcio- namiento de php y sobre la configuración de los mismos. -Obtención de información sobre PHP: Probablemente, nos interese mas de una vez obtener información sobre el módulo de php, para saber si podemos utilizar determinados grupos de funcio- nes y/o usar otros aspectos técnicos del servicio. Para ello basta con crear un script tan simple como este: Lo guardamos como "info.php" por ejemplo, y lo ejecutamos desde nuestro navegador, y nos saldrá un completo informe sobre todas las carácteristicas que podemos usar de php. Recuerda que toda la configuración del módulo de php está almacenada en el archivo php.ini ubicado normalmente en /etc/php/apache/ (sistemas linux/unix) o en apache/php/php.ini (win). -Implementación: Todo código PHP se implementa principalmente en un documento HTML. Para invocar una rutina en php, debemos implementar los siguientes tags (marcas) en el documento: Si tenemos habilitados los tags cortos (short tags), podemos invocar a PHP simplemente con -Comentarios: PHP, como todo buen lenguaje de programación que se precie, permite realizar comentarios en el código, para ello podemos utilizar los siguientes tags: //Esto es un comentario SIMPLE de una línea. Si por ejemplo queremos crear un comentario que ocupe mas de una línea, podemos emplear los siguientes tags. /* Este comentario me han dicho que ocupa tres lineas */ (con "/*" abrimos comentario, con "*/" cerramos el comentario) Ni que decir, que los comentarios, serán completamente ignorados por el intérprete de php. 2.2.Variables A continuación vamos a ver el funcionamiento de las variables de php, que como vereis, es bastante sencillo. -Asignando una variable: Respecto a otros lenguajes de programación, en php no es necesario declarar variables para su uso, ni definir el tipo de la misma, etc... $nombre = "chronoh"; En esta línea asignamos a $nombre el valor literal "chronoh" (string o como querais ;). Recuerda que toda variable en php se declara siempre con el símbolo $ delante de la misma sea numerica, constante, literal, etc... De la misma forma que tenemos variables tipo string, también podemos trabajar con variables numéricas: $numero = 66; //también sería válido: $numero = "66"; -CaSe SeNsItIVe: El término "case sensitive" nos indica que las variables de PHP son sensibles al tipo de letra en lo que a mayuscula/minuscula se refiere, dicho de otro modo: $nombre = "miguel"; $NOMBRE = "pedro"; //Tenemos dos variables completamente distintas, -Operaciones numéricas: Siempre que necesitemos operar con variables numéricas podremos hacerlo de las formas siguientes: $suma = 4 + 4; $resta = 6 - 4; $division = 10 / 10; $multiplicacion = 10 * 10; También podemos realizar operaciones matemáticas empleando variables: $a = 5; //asignamos 5 a la variable a $b = 3; //asignamos 3 a la variable b $suma = $a + $b; // 5 + 3 = 8 ¿es obvio no? Con estas operaciones básicas saldremos de muchos apuros, de todos modos podremos utilizar un amplio surtido de operaciones matemáticas, para ello puedes consultar el manual oficial de php. -Ámbito de las variables: Podemos distinguir el ámbito de las variables en PHP en 3 tipos; definamos ámbito como lugar donde pueden actuar esas variables, no te preocupes, ahora lo entenderás :P a)Públicas-> son aquellas variables que actuan fuera d toda función declarada por el usuario de PHP ( esto es un hecho inicial, ya que posteriormente, veremos como podemos acceder a esas variables desde dentro de una función ). b)Privadas-> son aquellas que solo actuan dentro de una función declarada por el usuario, incialmente no afectan a las variables públicas. c)Entorno-> estas son unas variables un tanto especiales. Estas variables las aporta el servidor web (en nuestro caso apache) y nos devuelven información sobre el usuario que está conectado al servidor. Existen cantidad de estas variables, os citaré un par de ellas a continuación: $HTTP_USER_AGENT : Devuelve información sobre el browser del usuario. $REMOTE_ADRR : Devuelve la dirección IP del usuario conectado a la página. Recuerda que en PHP todas las variables son "case sensitive", por lo que las variables que acabo de mencionar, no devolverán el valor deseado si las pones en minúsculas. 2.3.Declarando funciones Para lograr una correcta y eficiente estructuración del código de los programas, siempre podremos emplear funciones definidas por nosotros. Por si no entiendes el concepto de función, en PHP una función es un conjunto de instrucciones que realizan determinadas acciones o nos devuelven unos determinados valores. A dicha función, podemos pasarle parámetros. Esta función una vez declarada y definida, la podemos utilizar las veces que queramos en nuestros programas con el fin de agilizar nuestras tareas. a)Sintaxis: FUNCTION nombre_de_la_funcion (, ){ // Aquí va el código de la función. } b)Ejemplo práctico: 2.4.Estructuras condicionales: Las estructuras condicionales (también denominadas estructuras de control) son un conjunto de sentencias que nos permiten evaluar unos valores deter- minados de unas variables, pudiendo realizar una acción u otra en función del resultado de la condición. Existen bastantes estructuras de control en php, sin embargo, explicaré las de uso mas genérico: a)Operadores lógicos: Los operadores lógicos son unos símbolos que empleamos para efectuar comparaciones en las estructuras de control, con el fin de poder tomar una decisión sobre el resultado de dicha comparación. A continuación citaré los mas comunes: && (AND): indica en la expresión a evaluar que se deben cumplir las condicio- nes que esten enlazadas con este símbolo. || (OR): indica en la expresión a evaluar que con que se cumplan una de las condiciones que esten enlazadas con este símbolo, la condición será evaluada como verdadera. b)Operadores de comparación: Los operadores de comparación los usamos para realizar comparaciones (valga la redundancia) en nuestras expresiones condicionales. A > B : A es MAYOR que B A < B : A es MENOR que B A == B : A es IGUAL que B A != B : A es DISTINTO que B A >= B : A es MAYOR O IGUAL que B A <= B : A es MENOR O IGUAL que B Ejemplo: c)If/else:s Es una sentencia condicional muy sencilla de entender: *Sintaxis: if ( ) { // Conjunto de acciones a realizar. } else { /* En caso de que la condición anterior sea falsa se ejecutará este bloque de instrucciones. */ /* Conjunto de acciones a realizar. */ } *Ejemplo práctico -------------- 3.Programando que es gerundio. Llegado a este punto, ya deberías conocer mas o menos el funcionamiento de PHP, y algunas funciones básicas. A partir de ahora, cada función nueva que vayamos utilizando en nuestro código, será comentada por encima para que comprendas su funcionamiento. También añadiremos número de líneas, para poder entender mejor las explicaciones. 3.1.Un ejemplo típico: ¡Hola mundo! 1 "; 3 print ("¡Hola otra vez mundo!"); 4 ?> Este ejemplo es obvio y aplastante, no hace falta saber demasiada programa- ción para entender cual va a ser el resultado del programa. Lo que hacemos en este código es emitir una cadena en el navegador, dicho de otro modo, escri- bir en nuestro navegador :P Analicemos el programa: En la primera línea, invocamos a PHP, de manera que a partir de esta línea, el intérprete de PHP procesara todas las instrucciones hasta que encuentre el tag ?> , el cual determina el final del código en php. Recuerda que por regla general, cada instrucción debe finalizar con un punto y coma (;), porque en el caso contrario, el parser nos dará error y el codigo será ejecutado de forma incorrecta. En la segunda línea escribimos la cadena "¡Hola mundo!" en nuestro navegador. Quizás te estarás preguntando pq aparece la palabra
tras la frase:
es un tag de html que nos permite saltar de línea, debemos recordar que la salida "en pantalla" de nuestra información mediante comandos como print, echo o printf, es puro y duro html, lo cual nos brinda una inmensidad de posibilidades: acabas de descubrir uno de los puntos fuertes de php. En la línea 3 escribimos de nuevo en nuestro navegador otra cadena. Ahora sabrás que echo y print son dos funciones completamente sinónimas. Cuidado con no confundir print con printf ;) Y finalmente en la línea 4 cerramos la interpretación en php. 3.2.Un sencillo formulario: comenzamos a implementar rutinas php dentro de html. 1 2 Formulario 3 4 5
6 7 Nombre:
8 NºTeléfono:
9 10 11
12 "; 15 echo "¡Buenas $nombre tu número de teléfono es $telefono"; 16 } 17 ?> 18 19 20 No te abrumes con el código, es mas sencillo de entender de lo que parece. Antes de comenzar, deberías saber distinguir entre la parte del código en html y la parte del código en php, de hecho la gran parte del código de la página es html. En la primera línea declaramos al navegador que vamos a procesar un documento html, esto es común a cualquier página en html, en la segunda línea indicamos el titulo de la página con el tag , eso si, debemos recordar que toda la información que concierna a la "configuración" de la página, como el títu- lo, etiquetas meta, hojas de estilo, etc... van dentro de los tags <head>. En la línea 3, indicamos al navegador que desde el tag <body> hasta el tag </body>, tendremos el contenido de nuestra página, todo lo que queramos que aparezca en el navegador, debe ir dentro de <body> siempre y eso implica también, ubicar dentro de dicho tag, todas las rutinas de PHP que impliquen tener una salida visual en el browser. Desde la línea 5 hasta la línea 11, describimos un sencillo formulario con dos campos de entrada para el usuario: -El parámetro action ubicado dentro de <form>, indica la URL a la que debemos enviar la información del formulario introducida por el usuario, en nuestro caso enviaremos la salida de nuestro formulario a nuestro mismo archivo, el cual procesará la información introducida por el usuario. El parámetro method indica el método de envio de los datos, el cual puede ser GET o POST: GET envía la información introducida por el usuario por el URL, POST lo hace por la salida estándard STDIO (en definitiva: es mas seguro). -El tag <input> muestra un objeto en pantalla que permitirá al usuario inter- actuar con la página, mediante botones, cajas de texto, radiobuttons, check- boxes, etc.. Los parámetros son type, que en este caso es "text" (pues se trata de una caja de texto) y name. El parámetro name es muy importante, ya que el valor que le asignemos a este, será el nombre de la variable en php que deberemos utilizar para acceder al valor introducido por el usuario.