You are on page 1of 10

ASIX Mdulo 9

UF 1: Lenguaje de guin de servidor

Lenguaje de script de servidor PHP


PHP es un lenguaje de script del lado del servidor. Otros lenguajes similares son ASP y JSP. Los scripts PHP estn incrustados en los documentos HTML y el servidor los interpreta y ejecuta antes de servir las pginas al cliente. El cliente no ve el cdigo PHP sino los resultados que produce.

Caractersticas
Es un lenguaje robusto y potente de programacin, insertado en documentos HTML. Ha sido escrito especialmente para la Web, por tanto, no arrastra ningn exceso de carga como otros lenguajes. Dispone de bibliotecas para conectar con la mayora de sistemas de gestin de bases de datos. Proporciona soporte para la mayora de protocolos de comunicacin en Internet (http, imap, ftp, icmp). Cdigo fuente abierto. PHP est escrito en C. Gratuito. Portable y multiplataforma (Windows 95, 98, 2000, XP, NT, Unix, Linux); esto hace que sea portable a cualquier tipo de plataforma sin modificacin del cdigo. Eficiencia. Consume pocos recursos. Gran velocidad de desarrollo de proyectos.

ASIX Mdulo 9

UF 1: Lenguaje de guin de servidor

Breve historia de PHP (Personal Hypertext Processor)


Rasmus Lerdorf, miembro del equipo de desarrollo de Apache, cre PHP (Personal Home Page) en 1994. Su nica intencin fue la de crear un pequeo sistema de control para verificar el nmero de personas que lean su currculum vite en la Web. En los meses siguientes a su creacin, PHP se desarroll en torno a un grupo de programadores que comprobaban el cdigo y sus revisiones. Para dar ms potencia al sistema, Rasmus cre funciones en lenguaje C para permitir conexin a bases de datos. Este fue el comienzo de la potencia real del lenguaje. En 1995, apareci un conjunto de herramientas sobre PHP. Esta biblioteca se llam "Herramientas para pginas personales" y contenan un analizador de cdigo muy sencillo, un libro de visitas, un contador y algunas macros que facilitaban el trabajo de los diseadores. A mediados de 1995, apareci una revisin pblica llamada PHP/FI 2.0. Esta nueva versin contaba con un analizador sintctico reescrito desde 0, adems de unas herramientas escritas para el tratamiento de datos desde un formulario (de ah el nombre FI, Form nterpreter) y conectividad con MySQL (Gestor de bases de datos). Hacia 1997, PHP/FI se estaba usando en ms de 50.000 pginas en todo el mundo. En este perodo de tiempo, Zeev Suraski y Andi Gutmans decidieron crear una nueva versin de PHP/FI para solventar unos problemas con una aplicacin de comercio electrnico que estaban desarrollando. PHP 3.0 naci con suculentas innovaciones como la conectividad con varios gestores de bases de datos, protocolos y una API ampliada. La versin oficial de PHP 3.0 vio la luz en junio de 1998, donde se contemplaba ya la programacin orientada a objetos. En 1999 se realiz la primera revisin del motor Zend (Zend Engine), que aportaba modularidad, claridad y herramientas de optimizacin para pginas de gran escala. Zend viene de la unin de Zeev y Andi. PHP 4.0 vio la luz en mayo de 2000, dividida en 3 partes: El motor Zend, la API de servidor y los mdulos de funciones. El motor Zend es el responsable de analizar el cdigo PHP, definir la sintaxis y del lenguaje de programacin. La API permite la comunicacin con el servidor. Con esta API es posible utilizar PHP desde varios servidores. Los mdulos contienen funciones para el manejo de cadenas, archivos XML o tratamiento de imgenes. La orientacin a objetos no est muy lograda en PHP 4.0. Los objetos tienen un tratamiento muy pobre e ilgico. La definicin de las variables miembro (propiedades) y los mtodos son siempre pblicos, por lo que la encapsulacin es nula. Por defecto todos los objetos se pasan por valor, cuando deberan pasarse por referencia. Todas estas propuestas realizadas por el equipo de desarrollo de PHP han desembocado en la creacin del motor Zend 2.0. y su consecuencia PHP 5.

ASIX Mdulo 9

UF 1: Lenguaje de guin de servidor

PHP 5 incorpora una verdadera orientacin a objetos. Aadiendo las palabras reservadas public, protected y prvate a la definicin de las propiedades y mtodos de los objetos, se permite una verdadera encapsulacin. Adems del considerable avance con respecto a los objetos, PHP 5 incorpora un control de errores muy mejorado, al estilo de los lenguajes de programacin ms avanzados.

Requisitos
Servidor Web Apache (www.apache.org). El mdulo PHP (www.php.net). La base de datos MySQL (www.mysql.com) si se desea crear pginas dinmicas.

Otras utilidades
Herramientas para la gestin de MySQL, como PHPMyAdmin (www.phpmyadmin.net). Editores de PHP, como Maguma Studio, DevPHP (www.sourceforge.net). Bitnami

ASIX Mdulo 9

UF 1: Lenguaje de guin de servidor

Sintaxis en PHP
Mi primer script
Una vez que ya tenemos instalados PHP y MySQL, y el servidor Apache configurado para usarlos, podemos comenzar a escribir nuestro primer script en PHP. Ejemplo Primer_Script.php: <html> <body> <?php $myvar = "Hola. Este es mi primer script en PHP"; //Esto es un comentario echo $myvar; ?> </body> </html> Se ha de guardar con la extensin .php y colocarlo en la carpeta www. http://127.0.0.1/www/php/primero.php. Ahora si ponemos esta URL en nuestro navegador veremos una lnea con el texto "Hola. Este es mi primer script en PHP". Lo primero que apreciamos en el script son sus delimitadores. En la primera lnea del script vemos <?php que nos indica que comienza un script en PHP, y en la ltima colocamos ?> para indicar el final del script. Hay que destacar que todas las lneas que se encuentre entre estos delimitadores deben acabar en punto y coma, excepto las sentencias de control (if, switch, while, etc.). Como en toda programacin, es importante poner muchos comentarios, para lo cual si queremos comentar una sola lnea tenemos que poner al principio de la lnea //, si lo que queremos es comentar varias utilizaremos los delimitadores /* - */. Para que el servidor enve texto utilizaremos la instruccin echo, aunque tambin podemos utilizar printf de uso similar al del C. La palabra myvar comienza con el signo dlar ($). Este smbolo le indica a PHP que es una variable. Nosotros le hemos asignado un texto a esta variable, pero tambin puede contener nmeros o tablas (arrays). Es importante recordar que todas las variables comienzan con el signo dlar.

ASIX Mdulo 9

UF 1: Lenguaje de guin de servidor

Variables
PHP permite almacenar datos de distintos tipos en memoria. Estas zonas de memoria se llaman variables. Las variables comienzan por el smbolo de dlar ($) y no necesitan ser declaradas antes de comenzar el programa, como en otros lenguajes.

Variables
Existen varios tipos de variables:

Entero (integer): Almacena nmeros sin decimales. Se puede utilizar la notacin decimal (83), octal (0123) o hexadecimal (0x12). Coma Flotante (double): Nmeros con decimales. Carcter (string): Texto o informacin numrica escrita entre comillas dobles ("") o simples (''). Boolean: Slo tiene dos posibles valores: Verdadero o Falso. Nulo (NULL): Es un tipo especial que solo contiene un valor: NULL. Vectores (array): Colecciones de datos. Objetos (object): Conjunto de datos y funciones independientes.

Los 5 primeros tipos son simples y los 2 siguientes (array y object) son compuestos. Ejemplo Variables1.php: <?php //Asignacin de nmeros enteros, de coma flotante y cadenas de caracteres $numero_entero = 12343; $numero_flotante = 12343.123; $cadena_caracter = "12 34 3"; //Asignacin de los tipos especiales boolean y NULL $verdadero = TRUE; $vacio = NULL; echo("La variable \$numero_entero contiene: $numero_entero <br>"); echo("La variable \$numero_flotante contiene: $numero_flotante <br>"); echo("La variable \$cadena_caracter contiene: $cadena_caracter <br>"); ?>

ASIX Mdulo 9

UF 1: Lenguaje de guin de servidor

Hay que tener en cuenta que el nombre de las variables no puede empezar por un nmero, pero s puede contenerlos. Tambin pueden empezar por un guin bajo (_). Ejemplo Variables2.php: <?php $4numero = 23; //Esta lnea da error $_numero = 45; echo ("Variable que empieza en guin: $_numero <br>"); ?> Como hemos visto todas la variables van precedidas por signo dlar ($), y le asignamos contenido con el signo igual (=). Con las variables, PHP distingue entre maysculas y minsculas, por lo que no es lo mismo $myvar que $Myvar, stas son dos variables totalmente distintas. Ejemplo Variables3.php: <?php $myvar = "SEVILLA"; $Myvar = "MADRID"; //Esto imprimir SEVILLA echo $myvar; //Esto imprimir MADRID ECHO $Myvar; ?> Se ha utilizado dos formas de escribir echo, en maysculas y en minsculas, para indicaros que PHP no las distingue a la hora de usar funciones o sentencias del lenguaje. El uso de la barra invertida no es obligatorio, pero ayuda a la depuracin del cdigo que enviamos al navegador, existen estos usos: \" Comillas dobles \ Comillas simples \\ Barra invertida \n Nueva lnea \r Retorno de carro \t Tabulador \$ Signo de dlar $

ASIX Mdulo 9

UF 1: Lenguaje de guin de servidor

Tipos simples
Los tipos de variables simples son: enteros, coma flotante, cadenas de caracteres, boolean y NULL.

Enteros (integer)
Corresponde a un nmero entero sin decimales, pudiendo ser negativo o el nmero cero. Pueden ser almacenados en diferentes formatos correspondiendo con las bases decimal (base 10), octal (base 8) y hexadecimal (base 16). Por defecto se utiliza la numeracin decimal. Para utilizar base 8 debe ponerse un 0 delante del nmero asignado y un 0x si queremos utilizar base 16. Para aadir un nmero negativo basta con poner el signo menos (-) delante del nmero. Ejemplo Integer.php: <?php $entero_basel0 = 1234; $entero_base8 = 01234; $entero_basel6 = 0x1234; $entero_negativo = -1234; echo ("Decimal: $entero_basel0 <br>") ; echo ("Octal: $entero_base8 <br>") ; echo ("Hexadecimal: $entero_basel6 <br>") ; echo ("Negativo: $entero_negativo <br>") ; ?> La salida de los nmeros se hace en decimal, aunque la asignacin se haya hecho en hexadecimal o en octal. Esto es as porque PHP trabaja internamente en binario y hace la conversin a decimal de todos los nmeros enteros y de coma flotante.

Nmeros de coma flotante (double)


Este tipo de dato contiene nmeros enteros con decimales. Se almacenan de forma diferente a los nmeros enteros, por lo que las sumas de cantidades de coma flotante con cantidades enteras darn como resultado un nmero de coma flotante. Ejemplo Double.php: <?php $numero_double = 1234.123; $numero_double2 = 0.1213; $numero_double3 = -1234.0; echo ("Salida de la funcin echo: $numero_double3 <br>"); ?>

ASIX Mdulo 9

UF 1: Lenguaje de guin de servidor

El resultado sera: Salida de la funcin echo: -1234 Como puede comprobar, parece que el nmero que se muestra en pantalla es del tipo entero. Esto es porque la funcin echo() no muestra el formato del dato. Para que esto ocurra debemos utilizar otro tipo de funcin. <?php $numero_double3 = -1234.0; echo ("Salida de printf(): " ) ; printf("%f","$numero_double3"); ?> El cdigo anterior muestra ahora una salida por pantalla ms coherente: Salida de printf() es: -1234.000000

Cadena de caracteres (string)


Es un conjunto de caracteres encerrados entre comillas dobles ("") o simples (' '). Ejemplo String.php: <?php //Definicin de variables de tipo string $cadena1 = "Esto es una cadena de caracteres"; $cadena2 = 'Esto es una cadena entre comillas simples'; $cadena3 = ""; //Cadena con 0 caracteres. echo("\$cadena1 contiene: $cadena1 <br>"); echo("\$cadena2 contiene: $cadena2 <br>"); echo("\$cadena3 contiene: $cadena3 <br>"); ?> Diferencia entre las comillas simples y las comillas dobles:

Comillas simples: Permiten imprimir el contenido ntegro de caracteres que est entre las dos comillas. Comillas dobles: Permiten incluir variables para imprimirlas junto al texto.

Ejemplo Comillas.php: <?php $dato = "prueba"; $texto_simple = No puede imprimir la variable $dato; $texto_doble = "Imprime la variable dato como: $dato"; echo ("$texto_simple <br>"); echo ("$texto_doble"); ?>

ASIX Mdulo 9

UF 1: Lenguaje de guin de servidor

Existen algunos caracteres especiales que no pueden ser aadidos a una variable de tipo string, a menos que avisemos antes a PHP para que tenga cuidado a la hora de manejar el dato. Este aviso se conoce como "secuencia de escape" y no es ms que la inclusin delante del carcter especial de un smbolo \. As, si quiere insertar unas comillas dobles entre un texto, tendr que escribir \" para que no se produzca un error. Ejemplo Secuencia_Escape.php: <?php //Secuencias de escape $cadena1 = 'Aqu se pueden aadir comillas "dobles"<br>'; $cadena2 = "Aqu se pueden aadir comillas 'simples'<br>"; $cadena3 = "Esta cadena da errores por las comillas "dobles"<br>"; $cadena4 = "Esta cadena no da errores por las comillas \"dobles\"<br>"; echo $cadena1; echo $cadena2; echo $cadena3; echo $cadena4; ?> El resultado muestra la impresin de las cadenas, excepto la cadena3 que da un error por no incluir la secuencia de escape para las comillas.

Boolean
Una variable de tipo boolean slo puede contener dos valores: Verdadero o Falso. Se suelen utilizar para comprobar si se cumple una condicin en el programa. Ejemplo Boolean.php: <?php $variable_booleana = true; if ($variable_booleana) { echo ("El resultado es VERDADERO"); } ?> Aunque todava no hemos visto las estructuras de control, podemos advertir que la salida del programa anterior da como resultado la impresin en pantalla del texto que contiene la funcin echo(). Adems de las variables boolean, podemos tomar otros tipos de datos como Verdaderos o Falsos para hacer nuestras comprobaciones.

Los nmeros enteros o decimales, positivos o negativos son todos Verdaderos. El 0 se considera Falso. En cualquier caso se recomienda no utilizar variables de
coma flotante para comprobar si son Verdaderos o Falsos.

Las cadenas de caracteres son Verdaderas, excepto cuando no contienen


ningn dato o contienen nicamente el carcter "0". Las variables del tipo NULL son siempre Falsas.

ASIX Mdulo 9

UF 1: Lenguaje de guin de servidor

NULL
Es un tipo especial de datos que slo contiene el valor NULL. Ejemplo Null.php: <?php $variable_nula = NULL; if ($variable_nula) { echo ("La comprobacin es VERDADERA"); } else { echo ("La comprobacin es FALSA"); } ?>

Constantes
Las constantes son tipos de datos que no varan en el desarrollo de un programa. En la vida real existen muchos tipos de constantes, el nmero pi, la temperatura de congelacin del agua, etc. PHP crea diversas constantes al arrancar, como PHP_VERSION que contiene la versin de PHP. Para crear una constante usaremos la funcin define () de la siguiente forma: Ejemplo Constantes.php: <?php define ("CONSTANTE", "Hola Mundo"); printf (CONSTANTE); ?>

defined()
Puede utilizar defined() para averiguar si una constante ya se ha creado. Ejemplo Defined.php <?php define("Curso","ASIX"); if (defined("Curso") ) { echo "El curso es: ".Curso; } ?>

10

You might also like