Tema 2 - Introducción a PHP.pdf

download Tema 2 - Introducción a PHP.pdf

of 27

Transcript of Tema 2 - Introducción a PHP.pdf

  • 7/29/2019 Tema 2 - Introduccin a PHP.pdf

    1/27

    Colegio CLARET 2 Curso Administracin de Sistemas Informticos en Red

    1. PGINAS WEB DINMICAS

    1.1. Tipos de Pginas web

    Una sencilla clasificacin de los tipos de pginas web podraser esta:

    Pginas estticas Pginas dinmicas

    Pginas estticas

    Diremos que una pgina es esttica cuando sus contenidos nopueden ser modificados ni desde el servidor que la aloja(ordenador remoto) ni desde el cliente (navegador)mediante ninguna intervencin del usuario ni tampoco a travsde ningn programa.

    Objetivos del Tema:

    Conocer el esquema de un servicioy servidor Web

    Analizar los requerimientos para lainstalacin de un servidor Web.

    Explicar la instalacin yconfiguracin de un Servidor Web

    Conocer cuales son los Sistemagestor de base de datos utilizados

    en los servicios web, realizar su

    instalacin y configuracin.

    Analizar los lenguajes de script encliente y servidor.

    TEMA 2

    Introduccin a PHP

    COLEGIO CLARET ADMINISTRACIN DE SISTEMAS GESTORES DE BASE DE DATOS

  • 7/29/2019 Tema 2 - Introduccin a PHP.pdf

    2/27

    Colegio CLARET 2 Curso Administracin de Sistemas Informticos en Red

    PGINA 2 TEMA 2 INTRODUCCIN A PHP

    Un ejemplo de pgina esttica

    Hoy es 4-5-2009 y son las 14:23:57 horas

    Cualquier usuario que acceda a sta -ya sea en modo local, o a travs de un servidorremoto visualizar siempre la misma fecha: 11 de febrero de 2009.

    Pginas dinmicas

    Llamaremos dinmicas a las pginas cuyos contenidos s pueden ser modificados de

    forma automtica o mediante la intervencin de un usuario bien sea desde el clientey/o desde el servidor.

    Para que esas modificaciones puedan producirse es necesario que algo o alguienespecifique: qu, cmo, cundo, dnde y de qu forma deben realizarse, y que existaotro algo o alguien capaz de acceder, interpretar y ejecutar tales instrucciones en elmomento preciso.

    Igual que ocurre en la vida cotidiana, las especificaciones y las instrucciones requieren:un lenguaje para definirlas; un soporte para almacenarlas y un intrprete capaz deejecutarlas.

    Somos capaces de entender unas instrucciones escritas en castellano pero si estuvieranescritas en blgaro las cosas seguramente seran bastante distintas, y, por supuesto, aun blgar@ le pasara justamente lo contrario. Igual ocurre con los programasintrpretes de los lenguajes de script. Ellos tambin requieren rdenes escritas en supropio idioma.

  • 7/29/2019 Tema 2 - Introduccin a PHP.pdf

    3/27

    Colegio CLARET 2 Curso Administracin de Sistemas Informticos en Red

    PGINA 3PROFESOR: PEDRO GARCA BARROSO

    La imagen anterior es el correspondiente ejemplo a una peticin de pgina en la quehay incrustados scripts escritos en lenguaje del lado del cliente: En este caso se haranllamadas al intrprete de JavaScript incluido en los navegadores, tal comocomentamos al margen y/o a eventuales plugins necesarios para interpretar otros

    tipos de script.

    Esta imagen hace referencia al esquema ms complejo: un ejemplo de convivencia enun mismo documento de varios scripts y varios tipos de lenguaje. Aqu ya es precisoque, adems de un servidor capaz de soportar el protocolo HTTP, est instalado dellado del servidor un intrprete PHP, un servidor de bases de datos MySQL y que,adems, estn configurados de modo que puedan interactuar entre ellos.

    Un par de ejemplos de pginas dinmicas

    var son= new Date();var fecha=son.getDate()+" - "+(son.getMonth()+1)+" - "+son.getFullYear();var hora=son.getHours()+":"+son.getMinutes()+":"+son.getSeconds();document.write('Hoy es '+fecha+' y son las '+hora+' horas');

    En este ejemplo vers que la fecha que aparece en la pgina es la fecha actual de tusistema, y adems, cada vez que pulses el botn Actualizar de tu navegador podrscomprobar que se actualiza la hora.

  • 7/29/2019 Tema 2 - Introduccin a PHP.pdf

    4/27

    Colegio CLARET 2 Curso Administracin de Sistemas Informticos en Red

    PGINA 4 TEMA 2 INTRODUCCIN A PHP

    En este otro ejemplo la modificacin de los contenidos no requiere intervencin algunapor parte del usuario. Cada 5 segundos (fjate donde dice var frecuencia=5000).Cinco mil es el perodo de actualizacin, expresado en milisegundos) se rescribirn de

    forma automtica la fecha y la hora. Tenemos un cronmetro automtico.

    var reloj=0;var frecuencia=5000;function actualiza(){var son= new Date();var fecha=son.getDate()+" - "+(son.getMonth()+1)+" - "+son.getFullYear();var hora=son.getHours()+":"+son.getMinutes()+":"+son.getSeconds();var escribe='Hoy es '+fecha+' y son las '+hora+' horas';

    var situa=document.getElementById('capa0');situa.innerHTML=escribe;reloj=setTimeout("actualiza()",frecuencia);}

    1.2. Scripts

    Se llama script a un conjunto de instrucciones escritas en un lenguaje determinado quevan incrustadas dentro de una pgina WEB de modo que su intrprete pueda accedera ellas en el momento en el que se requiera su ejecucin.

    Cuando se incrustan scripts en una pgina WEB empiezan a convivir en un mismodocumento informaciones destina- das a distintos intrpretes.

    Por una parte, el cdigo HTML que ha de ser interpretado por el navegador, y por la

    otra, los scripts que han de ser ejecutadosdependiendo del lenguaje en el que hayansido escritos por su intrprete correspondiente.

    La manera de diferenciar los contenidos es delimitar los scripts marcando su comienzocon una etiqueta de apertura y sealando el final con una etiqueta de cierre.

    Lo que no est contenido entre esas etiquetas se considerar cdigo HTML. Laposibilidad de insertar en un mismo documento scripts desarrollados en distintoslenguajes obliga a especificar cul se ha utilizado en cada caso, para que en elmomento en el que vayan a ser ejecutados se invoque el intrprete adecuado.

    Para ello, dentro de la propia etiqueta de apertura () se inserta unareferencia al tipo de lenguaje con esta sintaxis: language="nombre"

  • 7/29/2019 Tema 2 - Introduccin a PHP.pdf

    5/27

    Colegio CLARET 2 Curso Administracin de Sistemas Informticos en Red

    PGINA 5PROFESOR: PEDRO GARCA BARROSO

    Por ejemplo:

    ......

    ...... instrucciones ........

    indicara que las instrucciones estn escritas con la sintaxis de PHP. Por el contrario, eneste otro supuesto:

    ............ instrucciones ........

    estaramos sealando que en las instrucciones contenidas en el script se ha utilizadosintaxis de JavaScript.

    Para el caso concreto de PHP, existe una sintaxis alternativa, mucho ms cmoda y quees la que se usa habitualmente. Es la siguiente:

    ser equivalente a.

    1.3. Lenguajes

    Hay mltiples posibilidades en cuanto a lenguajes de script. Pero antes de hacermencin a algunos de ellos es conveniente hacer una clasificacin previa.

    Los lenguajes de scriptpueden clasificarse en dos tipos:

    Del lado del cliente Del lado del servidor

    1.3.1. Lenguajes del lado del cliente

    Diremos que un lenguaje es del lado del cliente cuando el intrprete que ha de ejecutarsus scripts es accesible desde ste el cliente sin que sea necesario hacer ningunapeticin al servidor.

    Seguramente te ha ocurrido alguna vez que al intentar acceder a una pgina web haaparecido un mensaje diciendo que la correcta visualizacin de la pgina requiere unplugin determinado, y que, a la vez, se te haya ofrecido la posibilidad de descargarloen ese momento.

  • 7/29/2019 Tema 2 - Introduccin a PHP.pdf

    6/27

    Colegio CLARET 2 Curso Administracin de Sistemas Informticos en Red

    PGINA 6 TEMA 2 INTRODUCCIN A PHP

    Eso ocurre porque cuando el navegador que en el caso de las pginas web es elcliente trata de interpretar la pgina, encuentra incrustado en ella algo (un ficherode sonido, una animacin Flash, etctera) que de forma muy similar a lo que ocurrecon los scripts requiere un intrprete adecuado del que no dispone en ese momento.

    Cuando los scripts contenidos en un documento son de este tipo, el servidor lo entregaal cliente si efectuar ningn tipo de modificacin.

    1.3.2. Lenguajes del lado del servidor

    Un lenguaje es del lado del servidor cuando la ejecucin de sus scripts se efecta, porinstancia de este el servidor, antes de dar respuesta a la peticin, de manera que elcliente no recibe el documento original sino el resultante de esa interpretacin previa.

    Cuando se usan estos tipos de lenguaje el cliente recibe un documento en el que cadascriptcontenido en el original habr sido sustituido por los resultados de su ejecucin.

    Esto es algo a tener muy en cuenta, porque, en este caso, los usuarios no tendrn laposibilidad de visualizar el cdigo fuente, mientras que cuando se trata de lenguajesdel lado del cliente siempre es posible visualizar los scripts, bien sea de forma directamirando el cdigo fuente de la pgina recibida o leyendo el contenido de ficherosexternos vinculados a ella que son bastante fciles de encontrar en la cach delnavegador.

    La utilizacin de este tipo de scripts requiere que el intrprete del lenguaje seaaccesibleest del lado desde el propio servidor.

    1.3.3. Cmo resuelve sus dudas el servidor?

    Dado que en unos casos el servidor debe entregar el documento original pginasestticas o pginas dinmicas en las que se usan lenguajes del lado del clientemientras que en otros casos pginas dinmicas usando lenguajes del lado delservidor tiene que devolver el resultado de la ejecucin de los scripts, es razonableque te preguntes: cmo sabe el servidor lo que debe hacer en cada caso?

    La respuesta es simple. Eso hay que decrselo. Y se le dice de una forma bastantesimple. Se indica al poner la extensin al documento. Si en la peticin se alude a undocumento con extensin .htm o .html el servidor entender que esa pgina no

    requiere la intervencin previa de ningn intrprete de su lado y entregar la pginatal cual.

    Si en esa peticin se aludiera a una extensin distinta .php, por ejemplo el servidorentendera que antes de servir la pgina debe leerla y requerir al intrprete de PHPque ejecute los scripts desarrollados en ese lenguaje (en caso de que los contuviera) ydevolvera al cliente el documento que resultara de las eventuales ejecuciones detales scripts.

    1.3.4. Algunos lenguajes con nombre y apellidos

    Sin pretender hacer una enumeracin exhaustiva, los lenguajes de scriptms populares

    son los siguientes:

  • 7/29/2019 Tema 2 - Introduccin a PHP.pdf

    7/27

    Colegio CLARET 2 Curso Administracin de Sistemas Informticos en Red

    PGINA 7PROFESOR: PEDRO GARCA BARROSO

    Del lado del cliente:

    DHTML: no es exactamente un lenguaje de programacin. Se trata ms biende una serie de capacidades que se han ido aadiendo a los navegadores

    modernos mediante las cuales las pginas pueden contener hojas de estilo y/oorganizarse en capas susceptibles de ser redimensionadas, modificadas,desplazadas y/o ocultadas.

    JavaScript: es uno de los lenguajes ms populares. Cada navegador incluye supropio intrprete y es frecuente que los resultados de visualizacin sean algodistintos segn el navegador y la versin que se utilice.

    VBScript: es un lenguaje de script derivado de VisualBasic y diseadoespecficamente para los navegadores de Microsoft.

    Del lado del servidor

    PHP ASP Perl JSP

    1.3.5. Requisitos para el uso del lenguaje PHP

    De acuerdo a lo comentado en los prrafos anteriores y en los esquemas que tenemosa la derecha, el uso del lenguaje PHP requiere tener instalado y configurado:

    Un software de servidor configurado para interactuar con el intrprete dePHP que soporte el protocolo HTTP y que en nuestro caso ser el denominadoservidor Apache.

    El intrprete de PHP. Un software de servidor de bases de datos capaz de ser gestionado mediante

    funciones propias de PHP. Utilizaremos el servidor de bases de datos conocidocomo MySQL.

  • 7/29/2019 Tema 2 - Introduccin a PHP.pdf

    8/27

    Colegio CLARET 2 Curso Administracin de Sistemas Informticos en Red

    PGINA 8 TEMA 2 INTRODUCCIN A PHP

    2. SINTXIS BSICA DE PHP

    2.1. Pginas PHP

    Las pginas PHP pueden ser pginas web normales a lasque se cambia la extensin, poniendo.php en vez de .htm .html.

    En una pgina cuyo nombre tenga por extensin .php sepueden insertar instrucciones escritas en lenguaje PHPanteponiendo.

    A cada uno de estos bloques de instrucciones le llamaremos un script. No existe lmiteen cuanto al nmero de scripts distintos que pueden insertarse dentro de una pgina.

    La primera instruccin PHP que conoceremos ser esta:

    echo "un texto..";

    La instruccin echo seguida de un texto entrecomillado har que el PHP escriba en lapgina web resultante lo contenido en esa cadena de texto.

    IMPORTANTE: Al final de cada instruccin debemos insertar siempre un punto y coma (;)

    El (;) indicar a PHP que lo que viene a continuacin es una nueva instruccin. Para

    facilitar la depuracin los scripts no suelen escribirse dos instrucciones en una mismalnea.

    print "un texto..";

    La instruccin print tiene una funcin similar no es exactamente la misma a ladescrita para echo.

    print ("un texto..");

    Esta es otra posibilidad la ms habitual de utilizar print. Aqu encerramos entre

    parntesis la cadena que pretendemos que aparezca impresa en la pgina web. Elhecho de que utilicemos parntesis no nos evita tener que encerrar la cadena (texto) aimprimir entre comillas.

    Comillas dentro de comillas

    Existen dos tipos de comillas: dobles " (SHIFT+2) y sencillas ' (tecla ? enminsculas).

    Cuando es preciso anidar comillas deben utilizarse tipos distintos para las exteriores ypara las interiores. Para que una etiqueta echo interprete unas comillas como textoyno como el final de la cadena es necesario anteponerles un signo de barra

    invertida(\). En ningn caso ni con echo ni con print est permitido sustituir lascomillas exteriores (las que encierran la cadena) por \". Esta sintaxis solo es vlidapara indicar a PHP que debe interpretar las comillas como un carcter ms.

    En el punto siguiente veremos las diferentes opciones de las lneas de comentarios.

    Videos

    Introduccin a PHP

    http://www.youtube.com/watch?v=juFSPI_YzsM&feature=rela

    ted

  • 7/29/2019 Tema 2 - Introduccin a PHP.pdf

    9/27

    Colegio CLARET 2 Curso Administracin de Sistemas Informticos en Red

    PGINA 9PROFESOR: PEDRO GARCA BARROSO

    2.2. La Primera pgina en PHP

    Observemos este cdigo fuente. Como vers, se trata de una pgina web muy simpleque no contiene ningn script PHP.

    Hemos guardado esa pgina con el nombre ejemplo4.html y luego la hemos vuelto aguardar sin modificar nada en sus contenidos como ejemplo4.php.

    Aprendiendo PHPEsta es una pgina supersimple

    Si visualizamos ambos ejemplos veremos que los resultados son idnticos.

    2.2.1. Los primeros script PHP

    Editemos la pgina anterior (ejemplo4.php) y aadmosle nuestra primera etiquetaPHP guardndola como ejemplo5.php. Este sera el cdigo fuente:

    Aprendiendo PHP

    Esta es una pgina supersimple

    Veamos ahora un ejemplo con las diferentes opciones de uso de las comillas

    Aprendiendo PHP

  • 7/29/2019 Tema 2 - Introduccin a PHP.pdf

    10/27

    Colegio CLARET 2 Curso Administracin de Sistemas Informticos en Red

    PGINA 10 TEMA 2 INTRODUCCIN A PHP

    # tipo de comillas. Para diferenciar unas de otras anteponemos# la barra invertida, pero esta opcin no podramos utilizarla# al revs.# No podramos poner \" en las comillas exteriores.

    echo "La palabra \"comillas\" usando la barra invertida
    ";?>

    2.2.2. Ejercicio n2

    Crea un subdirectorio en el root de tu servidor Apache (htdocs en Windows) y ponlecomo nombre practicas.

    Escribe con tu editor un script similar a los ejemplos anterioresutilizando print y print()en vez de echo. Guarda el documento en la carpeta practicas con el nombreejercicio2.php y comprueba su funcionamiento.

    Recuerda que para visualizarlo debers escribir en tu navegador:http://localhost/practicas/ejercicio2.php

  • 7/29/2019 Tema 2 - Introduccin a PHP.pdf

    11/27

    Colegio CLARET 2 Curso Administracin de Sistemas Informticos en Red

    PGINA 11PROFESOR: PEDRO GARCA BARROSO

    3. LNEAS DE COMENTARIOS

    3.1. Por qu usar lneas de comentario?

    A primera vista pueden parecer intiles. Para qu recargar las pginas concontenidos que no se van a ver ni ejecutar? Las lneas de comentario sirven para poderrecordar en un futuro qu es lo que hemos hecho al escribir un script y por qu razn lohemos hecho as.

    A medida que vayamos avanzando vers que en muchos casos tendremos que aplicarestrategias individuales para resolver cada problema concreto. Cuando necesiteshacer una correccin o una modificacin al cabo de un tiempo vers que confiar en lamemoria no es una buena opcin. Es mucho mejor utilizar una lnea de comentario queconfiar en la memoria. Palabra!

    3.2. ComentariosPara insertar comentarios en los scripts de PHP podemos optar entre varios mtodos yvarias posibilidades:

    Una sola lnea: Basta colocar los smbolos // al comienzo de la lnea o detrsdel punto y coma que seala el final de una instruccin. Tambin se puede usarel smbolo # en cualquiera de las dos posiciones.

    Varias lneas: Si un comentario va a ocupar ms de una lnea podremosescribir /* al comienzo de la primera de ellas y */ al final de la ltima. Laslneas intermedias no requieren de ningn tipo de marca. Los comentarios paralos que usemos la forma /* ... */ no pueden anidarse. Si, por error, lohiciramos, PHP nos dar un mensaje de error.

    3.3. Ensayando lneas de comentario

    En este ejemplo hemos incluido marcados en rojo algunos ejemplos de insercin delneas de comentario.

    Ejemplo

  • 7/29/2019 Tema 2 - Introduccin a PHP.pdf

    12/27

    Colegio CLARET 2 Curso Administracin de Sistemas Informticos en Red

    PGINA 12 TEMA 2 INTRODUCCIN A PHP

    3.4. Ejercicio n 3

    Escribe un script en el que se utilicen las funciones print, print() y echo aadiendoconlos diferentes formatoslneas de comentario que expliquen la sintaxis de cada una

    de las funciones. Gurdalo como ejercicio3.php en el directorio practicas ycomprueba su funcionamiento.

  • 7/29/2019 Tema 2 - Introduccin a PHP.pdf

    13/27

    Colegio CLARET 2 Curso Administracin de Sistemas Informticos en Red

    PGINA 13PROFESOR: PEDRO GARCA BARROSO

    4. CONSTANTES

    4.1. Qu es una constante?

    Una constante es un valor un nmero o una cadena que no va a ser modificado alo largo del proceso de ejecucin de los scripts que contiene un documento.

    Para mayor comodidad, a cada uno de esos valores se le asigna un nombre, de modoque cuando vaya a ser utilizado baste con escribir su nombre.

    Cuando ponemos nombre a una constante se dice que definimos esa constante.

    4.2. Cmo definir constantes?

    En PHP las constantes se definen mediante la siguiente instruccin:

    define("Nombre","Valor")

    Los valores asignados a las constantes se mantienen en todo el documento, inclusocuando son invocadas desde una funcin. No es necesario escribir entre comillas losvalores de las constantes cuando se trata de constantes numricas.

    Si se realizan operaciones aritmticas con constantes tipo cadena, y su valorcomienza por una letra, PHP les asigna valor cero.

    Si una cadena empieza por uno o varios caracteres numricos, al tratar de operarla

    aritmticamente PHP considerar nicamente el valor de los dgitos anteriores a laprimera letra o carcter no numrico.

    El punto entre caracteres numricos es considerado como separador de parte decimal.Tal como puedes ver en el cdigo fuente del ejemplo, es posible definir constantes alas que se asigne como valor el resultado de una operacin aritmtica.

    4.3. Ampliando echo

    Mediante una sola instruccin echo se pueden presentar (en la ventana del navegadordel cliente) de forma simultnea varias cadenas de caracteres y/o constantes yvariables. Basta con ponerlas una a continuacin de otra utilizando una coma como

    separador entre cada una de ellas.

    La forma anterior no es la nica ni la ms habitual de enlazar elementos mediantela instruccin echo. Si en vez de utilizar la coma usramos un punto (el concatenadorde cadenas) conseguiramos el mismo resultado.

    Cuando enlacemos elementos distintos cadenas, constantes y/o nmeros hemos detener muy en cuenta lo siguiente:

    o Cada una de las sucesivas cadenas debe ir encerrada entre sus propiascomillas.

    o Los nombres de constantes nunca van entre comillas.

  • 7/29/2019 Tema 2 - Introduccin a PHP.pdf

    14/27

    Colegio CLARET 2 Curso Administracin de Sistemas Informticos en Red

    PGINA 14 TEMA 2 INTRODUCCIN A PHP

    4.4. Ampliando print

    Las instrucciones print tambin permiten concatenar cadenas en una misma instruccin.

    En este caso solo es posible usar el punto como elemento de unin. Si pusiramoscomascomo hacamos con echo PHP nos dara un error.

    4.5. Un ejemplo con constantes

    Constantes
    Ahora veremos los mismos resultados usando la functionprueba

  • 7/29/2019 Tema 2 - Introduccin a PHP.pdf

    15/27

    Colegio CLARET 2 Curso Administracin de Sistemas Informticos en Red

    PGINA 15PROFESOR: PEDRO GARCA BARROSO

    function prueba(){echo "Valor de la constante EurPta: ". EurPta . "
    ";print "Valor de la constante PtaEur: ". PtaEur. "
    ";echo "Valor de la constante Cadena: ", Cadena , "
    ";

    print ("Valor de la constante Cadena x EurPta: " .Cadena*EurPta . "
    ");print ("Valor de la constante Cadena2 x EurPta: " .Cadena2*EurPta . "
    ");}# Las funciones solo se ejecutan cuando son invocadas/* La funcin anterior no se ejecutar hasta que escribamos una lnea comoesta de abajo en la que ponemos nicamente el nombre de la funcin:prueba() */?>

    4.6. Ejercicio n 4

    Escribe un script (gurdalo como ejercicio4.php) en el que se definan dos constantes,una numrica y otra de cadena y en el que mediante la las opciones print y echoaparezca en la pgina web resultante un comentario sobre el tipo de cada una deellas seguido de su valor. Intenta conseguir que los elementos concatenados aparezcanen la presentacin separados por un espacio. Observa el cdigo fuente!

    Cuidado! Presta mucha atencin a la sintaxis. Olvidar los ; o no poner unas comillassuelen ser la causa de muchos mensajes de error.

  • 7/29/2019 Tema 2 - Introduccin a PHP.pdf

    16/27

    Colegio CLARET 2 Curso Administracin de Sistemas Informticos en Red

    PGINA 16 TEMA 2 INTRODUCCIN A PHP

    5. VARIABLES

    5.1. Qu es una variable?

    Podramos decir que es un espacio de la memoria RAM del ordenador que se reservaa lo largo del tiempo de ejecucin de un script para almacenar un determinado tipode datos cuyos valores son susceptibles de ser modificados por medio de lasinstrucciones contenidas en el propio programa.

    Nombres de variables: En PHP todos los nombres de variable tienen que empezarpor el smbolo$.

    Las nombres de las variables han de llevar una letra inmediatamente despus delsm- bolo $$pepe1 es un nombre vlido, pero$1pepe no es un nombre vlido.

    MUY IMPORTANTE Para PHP las letras maysculas y las minsculas son distintas. Lavariable$pepe es distinta de$Pepe.

    5.2. Tipos de variables

    En PHP no es necesario definir el tipo de variable, por lo tanto, una misma variablepuede contener una cadena de caracteres en un momento del proceso y,posteriormente, un valor numrico, susceptible de ser operado matemticamente.

    PHP no requiere una definicin previa de las variables. Se definen en el momento enque son necesarias y para ello basta que se les asigne un valor. La sintaxis es esta:

    $variable=valor;

    El valor puede ser una cadena (texto o texto y nmeros que no requieren ser operadosmatemticamente) o slo un nmero. En el primero de los casos habra que escribir elvalor entre comillas.

    5.3. mbito de las variables

    Los valores de una variable definida en cualquier parte de un script siempre que nosea dentro de una funcin pueden ser utilizados desde cualquier otra parte de ese

    script, excepto desde dentro de las funciones que contuviera el propio script o desdelas que pudieran estar contenidas en un fichero externo.

    Si una variable es definida dentro de una funcin slo podr ser utilizada dentro esafuncin. Si en una funcin aludimos a una variable externa a ella PHP considerar esallamada como si la variable tuviera valor cero (en caso de ser tratada como nmero)o una cadena vaca ("" es una cadena vaca).

    Igual ocurrira si desde fuera de una funcin hiciramos alusin a una variabledefinida en ella. Si definimos dos variables con el mismo nombre, una dentro de unafuncin y otra fuera, PHP las considerar distintas. La funcin utilizar cuando seaejecutada sus propios valores sin que sus resultados modifiquen la variable externa.

  • 7/29/2019 Tema 2 - Introduccin a PHP.pdf

    17/27

    Colegio CLARET 2 Curso Administracin de Sistemas Informticos en Red

    PGINA 17PROFESOR: PEDRO GARCA BARROSO

    5.4. Variables globales

    Lo comentado anteriormente, admite algunas excepciones. Las funciones puedenutilizar valores de variables externas a ellas pero ello requiere incluir dentro de la

    propia funcin la siguiente instruccin:

    global nombre de la variable;

    Por ejemplo:global $a1;

    En una instruccin global pueden definirse como tales, de forma simultnea, variasvariables. Basta con escribir los nombres de cada una de ellas separados por comas.

    P. ej.:global $a1, $a2, $a3;

    5.5. Variables superglobalesA partir de la versin 4.1.0 de PHP se ha creado un nuevo tipo de variables capacesde comportarse como globales sin necesidad de que se definan como tales. Estasvariables que no pueden ser creadas por usuario, recogen de forma automticainformacin muy especfica y tienen nombres preasignados que no pueden modificarse.

    Las estudiaremos un poco ms adelante. Por ahora, slo citar los nombres de algunasde ellas: $_SERVER, $_POST, $_GET o $_ENV son los de las ms importantes.

    5.6. Un ejemplo completo de variables y sus mbitos

    Podemos comparar la memoria de un ordenador con el saln de un restaurante y laejecucin de un programa con los servicios que van a darse en la celebracin del finalde ao. La forma habitual de hacer una reserva de mesa espacio de memoriapara ese evento sera facilitar un nombre nombre de la variable y especificaradems cuantos comensales tipo de variable prevemos que van a asistir.

    Cuando acudamos a la cena de San Silvestre podremos sentarnos en esa mesa unnmero determinado de comensales daremos un valor a la variable y a lo largode ella podremos levantarnos o incorporar un nuevo invitadomodificacin del valorde la variable siempre que sea alguien de nuestro mbito quien realice la invitacin.

    Probablemente no permitiramos que el cocinero decidiera quien debe sentarse olevantarse, pero si lo permitiramos a cualquiera de nuestros invitados. La diferenciaestara mbito de la variable en que el cocinero no pertenece a nuestro mbitomientras que los invitados a nuestra mesa s.

    Quiz si celebrramos el evento otro da cualquiera no necesitaramos hacer unareserva previa y bastara con acudir a la hora deseada y hacer la reserva justo en elmomento de sentarse.

    El restaurante de PHP no necesita que hagamos ninguna reserva previa. Otros muchoslenguajes de programacin, por el contrario, si la necesitan. Siguiendo con lo que nos

    ocupa, aqu tienes un ejemplo del uso de las variables y la forma de utilizarlas en losdiferentes mbitos.

  • 7/29/2019 Tema 2 - Introduccin a PHP.pdf

    18/27

    Colegio CLARET 2 Curso Administracin de Sistemas Informticos en Red

    PGINA 18 TEMA 2 INTRODUCCIN A PHP

    Vamos a ver el contenido de las variables
    Invocando la variable desde una funcin
    Ver la variable desde la funcinponiendo global


    Un solo nombre y dos variablesdistintas
    Dentro de la funcin el valor de la variable es

  • 7/29/2019 Tema 2 - Introduccin a PHP.pdf

    19/27

    Colegio CLARET 2 Curso Administracin de Sistemas Informticos en Red

    PGINA 19PROFESOR: PEDRO GARCA BARROSO

    ... pero despus de salir de la funcinvuelvo al valor original...

    5.7. Ejercicio n 5

    Escribe un script (gurdalo como ejercicio5.php) en el que una misma variable tomedos valores distintos sin utilizar ninguna funcin. Luego aade al script una funcin quepresente ese mismo nombre de variable con un valor distinto de los anteriores,comprobando que esta ltima opcin no modific el ltimo valor de aquellos.

  • 7/29/2019 Tema 2 - Introduccin a PHP.pdf

    20/27

    Colegio CLARET 2 Curso Administracin de Sistemas Informticos en Red

    PGINA 20 TEMA 2 INTRODUCCIN A PHP

    6. TIPOS DE VARIABLES

    6.1. Tipos de variables

    En PHP no es necesaria una definicin previa del tipo de variables. Segn los valoresque se les vayan asignando, las variables podrn cambiar de tipo de modoautomtico y se irn adaptando a los valores que contengan en cada momento.

    Las variables en PHP pueden ser de tres tipos:

    Enteras (tipo Integer): Cualquier nmero entero cuyo valor est comprendidoentre 231.

    De coma flotante (tipo Double o Decimales): Cualquier valor que sea nmerodecimal o siendo enterodesborde el intervalo anterior.

    Cadenas (tipo String): Cualquier variable cuyo valor sea una cadena decaracteres (letras y/o nmeros delimitados por comillas).

    En el cuadro siguiente podemos ver los tres tipos de variables que utiliza PHP.

    6.2. Determinacin de tipos de variables

    PHP dispone de la funcin:

    gettype(variable)

    que devuelve una cadena de caracteres indicando el tipo de la variable que contiene.La cadena devuelta por esta funcin puede ser: Integer, double o string.

    Dado que PHP gestiona las variables de forma automtica y modifica los tipos deacuerdo con los valores que va tomando durante la ejecucin del script, se puderecurrir a la funcin gettype(nombre de la variable) para determinar el tipo de lavariable actual.

    En la tabla siguiente tienes algunos ejemplos de aplicacin de esa funcin.

    Podemos observar en la columna Sintaxis que para visualizar el resultado

    anteponemos echo a gettype. Es decir, le indicamos a PHP que muestre el resultadoobtenido al determinar el tipo de variable.

  • 7/29/2019 Tema 2 - Introduccin a PHP.pdf

    21/27

    Colegio CLARET 2 Curso Administracin de Sistemas Informticos en Red

    PGINA 21PROFESOR: PEDRO GARCA BARROSO

  • 7/29/2019 Tema 2 - Introduccin a PHP.pdf

    22/27

    Colegio CLARET 2 Curso Administracin de Sistemas Informticos en Red

    PGINA 22 TEMA 2 INTRODUCCIN A PHP

    7. CONSTANTES PREDEFINIDAS

    PHP dispone de algunas constantes predefinidas que no requieren la instruccin:

    define("Nombre","Valor")

    Algunas de ellas son estas:

    __FILE__Recoge el nombre del fichero que se est ejecutando y la rutacompleta de su ubicacin en el servidor.

    __LINE__Recoge el nmero de lnea (incluidas lneas en blanco) del ficheroPHP cuyos scripts est interpretando. Puede resultar muy til para depurarprogramas escritos en PHP.

    PHP_OS Recoge informacin sobre el Sistema Operativo que utiliza el servidoren el que se est interpretando el fichero.

    PHP_VERSION Recoge la versin de PHP que est siendo utilizada por elservidor.

    Cuidado! Por si existieran dudas por problemas de visualizacin tanto FILE comoLINE tienen que llevar dos guiones bajos delante y otras dos detrs.

    7.1. Un ejemplo con constantes predefinidas

    7.2. Ejercicio n 6

    Escribe un script (gurdalo como ejercicio6.php) que construya una pequea pginaweb en la que aparezca el texto "Ests utilizando la versin: 5.2.9-2 de PHP"(incluidas las comillas y extrayendo el nmero de versin de la constante predefinidacorrespondiente). Trata de que todas las etiquetas HTML que utilices estn recogidasen variables PHP, de manera que no exista ninguna lnea en el cdigo fuente de lapgina que est fuera de las etiquetas

  • 7/29/2019 Tema 2 - Introduccin a PHP.pdf

    23/27

    Colegio CLARET 2 Curso Administracin de Sistemas Informticos en Red

    PGINA 23PROFESOR: PEDRO GARCA BARROSO

    8. OPERACIONES

    8.1. Operaciones aritmticas

    En pginas anteriores hemos podido ver que PHP permite utilizar un tipo de variableslas numricas cuyos valores puedan ser operados de la misma forma que se hacecon los nmeros en la vida cotidiana.

    Los resultados de las operaciones pueden utilizarse de forma directa o ser recogidosen una nueva variable. A continuacin tenemos un ejemplo de ambas opciones.

    Si asignamos a una nueva variable el resultado de una operacin el valor contenidoen ella no se modifica, aunque cambien los de las variables que intervinieron sucreacin.

    8.1.1. Sintaxis de print y echo

    Si queremos encadenar en una sola instruccin echo print el resultado de unaoperacin junto con otras variables (o cadenas) es imprescindible poner entreparntesis las instrucciones de la operacin.

    Esta norma, solo tiene dos excepciones: en caso de que el print solo contenga lapropia operacin o cuando utilicemos echo y el separador sea una coma.

    8.2.2 Ejemplo de uso de operadores aritmticos

  • 7/29/2019 Tema 2 - Introduccin a PHP.pdf

    24/27

    Colegio CLARET 2 Curso Administracin de Sistemas Informticos en Red

    PGINA 24 TEMA 2 INTRODUCCIN A PHP

    echo "La suma de $a + $b es: " , $a , "+" , $b . "=" , ($a+$b) ."
    ";echo "La suma de $a + $b es: " , $a , "+" , $b , "=" , $a+$b ,"
    ";# guardemos ahora el resultado de esa operacin en una nueva variable$c=$a+$b;

    /*ahora presentemos el resultado utilizando esa nueva variable advirtiendo ella salida */print ("Resultados recogidos en una nueva variable
    ");print "La suma de $a + $b es: " . $a . "+" . $b . "=" . $c ."
    ";print ("La suma de $a + $b es: " . $a . "+" . $b . "=" . $c ."
    ");echo "La suma de $a + $b es: " . $a . "+" . $b . "=" . $c ."
    ";echo "La suma de $a + $b es: " , $a , "+" , $b . "=" , $c ."
    ";echo "La suma de $a + $b es: " , $a , "+" , $b , "=" , $c ,"
    ";/* modifiquemos ahora los valores de $a y $b comprobando que el cambiono modifica lo contenido en la variable $c */$a=513; $b=648;print ("
    C sigue valiendo: " . $c ."
    ");

    # experimentemos con parntesis en un supuesto de operaciones combinada# tratemos de sumar la variable $a con la variable $b# y multiplicar el resultado por $c.# Si escribimos print($a+$b*$c) nos har la multiplicacin antes que la sumaprint "
    No he puesto parntesis y el resultado es: ".($a+$b*$c);# Si escribimos print(($a+$b)*$c) nos har la suma y luego multiplicarprint "
    He puesto parntesis y el resultado es: ".(($a+$b)*$c);?>

    8.2. Operadores de incremento

    Los caracteres ++ y -- escritos al lado del nombre de una variable producenincrementos o decrementos de una unidad en el valor de la misma.

    8.3. Operadores condicionales

    Este tipo de operadores son el autntico cerebro de cualquier aplicacin quedesarrollemos en PHP o en cualquier otro lenguaje de programacin.

    Los operadores condicionales son la herramienta que permite tomar decisiones talescomo: hacer o no hacer, y tambin: hacer algo bajo determinadas condiciones y otracosa distinta en caso de que no se cumplan.

  • 7/29/2019 Tema 2 - Introduccin a PHP.pdf

    25/27

    Colegio CLARET 2 Curso Administracin de Sistemas Informticos en Red

    PGINA 25PROFESOR: PEDRO GARCA BARROSO

    8.3.1. Condiciones (Operador IF)

    Aunque para simplificar los ejemplos vamos a utilizar en ellos una sola condicin, esteoperador permite incluir como tal cualquier estructura lgica, del tipo que hemos visto

    en la pgina anterior, por compleja que esta sea.

    Como iremos viendo a lo largo de estas lneas, este operador permite diferentesformas de sintaxis que podemos utilizar segn nuestra conveniencia. La forma mssimple es:

    if(condicin)..instruccin... ;

    Si se cumple la condicin establecida en el parntesis se ejecutar la primerainstruccin que se incluya a continuacin de ella.

    Cualquier otra instruccin que hubiera a continuacin de esa primera no estaraafectada por el condicional y se ejecutara en cualquier circunstancia. Observa que,aunque hemos puesto if(condicin) en una lnea independiente, no lleva punto y comadetrs.

    if(condicin){..instruccin 1... ;..instruccin 2... ;.... ;}

    Es una ampliacin del caso anterior. Cuando es necesario que en caso de que secumpla la condicin o condiciones se ejecute ms de una instruccin, se aade una {para indicar que habr varias instrucciones, se escriben estas y mediante } se sealael final.

    If ... else

    El operador condicional tiene una interesante ampliacin. En conjuncin con elsepermite aadir instrucciones que slo seran ejecutadas en caso de no cumplirse lacondicin. Esta nueva opcin se habilita mediante la siguiente sintaxis:

    if(condicion){... instrucciones...... a ejecutar cuandose cumple la condicin} else {... instrucciones...... a ejecutar cuando NOse cumple la condicin}

    permitiendo tambin la sintaxis alternativa :, endif, aunque en este caso hay quehacer una precisin -puedes verla aqu debajo la llave de cierre que iba delante de

    else se elimina y no es sustituida por ningn caracter ni smbolo especial.

  • 7/29/2019 Tema 2 - Introduccin a PHP.pdf

    26/27

    Colegio CLARET 2 Curso Administracin de Sistemas Informticos en Red

    PGINA 26 TEMA 2 INTRODUCCIN A PHP

    La funcin exit()

    PHP dispone de una funcin exit() muy til a los efectos del comentario anterior.Cuando se ejecuta exit() se interrumpe la ejecucin del script con lo que la respuesta

    del servidor a la peticin del cliente incluir nicamente los contenidos generadosantes de su ejecucin.

    8.3.2. Ejemplo con IF

    8.3.4. La funcin switch

    Una alternativa al uso de condicionales del tipo ifes la funcin switch. Se trata de uncondicional que evala una variable y, segn su valor, ejecuta unas instrucciones u otras.Su sintaxis es la siguiente:

    switch ( variable ) {case n1:instrucciones caso n1........................case n2:instrucciones caso n2........................

    }

    Cuando se usa esta sintaxis slo se ejecutan aquellas instrucciones que han sidoincluidas a partir de la etiqueta en la que el nmero que sigue a case coincide con elvalor de la variable.

  • 7/29/2019 Tema 2 - Introduccin a PHP.pdf

    27/27

    PGINA 27PROFESOR: PEDRO GARCA BARROSO

    La forma ms habitual de uso de esta funcin es esta:

    switch ( variable ) {case n1:

    instrucciones caso n1........................break;case n2:instrucciones caso n2........................break;}

    Esta opcin incluye antes de cada nuevo case la funcin de ruptura break. CuandoPHP encuentra el break interrumpe la ejecucin y no la reanuda hasta la instruccinsiguiente a la } que cierra la funcin switch.

    Insertando break en cada una de las opciones case, slo se ejecutaran las instruccionescontenidas entre case num y ese break.

    default: Bajo este nombre (default: )se pueden incluir dentro de la funcin switchunconjunto de instrucciones que solo sern ejecutadas en el caso que el valor de lavariable no coincida con ninguno de los case. Su comportamiento es equivalente a elseen el condicional if.

    8.3.5. Ejemplo de la funcin switch