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
Top Related