Lenguaje PHP
Introducción
PHP (acrónimo recursivo de PHP: Hypertext Preprocessor) es un lenguaje de código abierto muy popular especialmente adecuado para el desarrollo web y que puede ser insertado en HTML.
- Lenguaje de alto nivel cuyo código se incorpora a páginas web HTML
- Se ejecuta en el servidor o en un ordenador configurado como servidor
- Una vez interpretado por el servidor, genera una salida HTML
- Parecido en su sintaxis con lenguajes de programación estructurada, como C
- Diseñado para la creación de páginas web dinámicas
- Es un lenguaje de código abierto
- Lo que distingue a PHP de JavaScript es que el código es ejecutado en el servidor, generando HTML
- Muchas aplicaciones web están construidas con PHP. Ejs.: Wordpress, Joomla, Drupal, osCommerce, Prestashop, phpBB, SMF, Moodle, ...
Lenguaje PHP
Introducción
¿Qué necesito?
- Un servidor con soporte activado para PHP
- Ficheros con la extensión .php, que han de ser tratados por PHP
- Es habitual tener instalada una base de datos como MySQL o análoga
Lenguaje PHP
Introducción
Esquema funcionamiento
Lenguaje PHP
Introducción
Historia
- Creado en 1995. Denominado “Zend Engine”, (Zeev Suraski y Andi Gutmans)
- 1998, versión 4. Programación orientada a objetos. Aumento velocidad
- La versión 6 no pasó del borrador
- PHP 7 es la versión actual. Presentada en diciembre 2015. Entre sus mejoras destacan:
- Nueva versión de Zend Engine
- Importante reducción del uso de memoria
- Árbol sintáctico abstracto
- Soporte consistente a los 64-bits
- Un buen número de errores fatales convertidos en excepciones
- Mejora en la jerarquía de estas excepciones
- Generador de números aleatorio más seguro
- Operador de coalescencia con null
- Clases anónimas
- Compatibilidad con la última versión de OpenSSL (1.0.2e)
En el sitio TutorialPHP.net (http://tutorialphp.net/) se pueden ver las novedades de esta versión.
En Dev Education hay un curso de PHP en 10 vídeos.
Lenguaje PHP
Introducción
Primera página con PHP
-
Escribir un fichero llamado hola.php y llevarlo al directorio raíz del servidor web
<html>
<head>
<title>Prueba de PHP</title>
</head>
<body>
<?php echo '<p>Hola desde la UMU</p>'; ?>
</body>
</html>
Para ejecutarlo llamar desde el navegador a hola.php en el dominio correspondiente
Si se ha instalado en local, cargar con: http://localhost/hola.php o http://127.0.0.1/hola.php
Lenguaje PHP
Introducción
Primera página con PHP
Formato de las etiquetas especiales de PHP: <?php para indicar el inicio de una etiqueta de PHP, etiqueta de cierre ?>
Lista de editores PHP, en Wikipedia: https://en.wikipedia.org/wiki/List_of_PHP_editors
-
El archivo es analizado por el intérprete PHP
Código que devuelve:
<html>
<head> <title>Prueba de PHP</title> </head>
<body>
<p>Hola desde la UMU</p>
</body>
</html>
Formato de las etiquetas especiales de PHP: <?php para indicar el inicio de una etiqueta de PHP, etiqueta de cierre ?>
Lista de editores PHP, en Wikipedia: https://en.wikipedia.org/wiki/List_of_PHP_editors
Lenguaje PHP
Introducción
Algo útil
-
¿Qué tipo de navegador está utilizando el usuario visitante?
Identificar el string del agente de usuario que el navegador envía como parte de la petición HTTP
$_SERVER es una variable especial reservada por PHP que contiene toda la información del servidor web
<?php
echo $_SERVER['HTTP_USER_AGENT'];
?>
Resultando, por ejemplo:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
Lenguaje PHP
Introducción
-
Algo útil
<?php
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) {
echo 'Estás usando el peor navegador, Internet Explorer.<br />';
}
?>
Resultando para un usuario de Internet Explorer:
Estás usando el peor navegador, Internet Explorer.
Lenguaje PHP
Introducción
Algo útil
Este ejemplo mezcla los modos HTML y PHP. En vez de usar una sentencia echo de PHP para mostrar algo, se sale del modo PHP y se envía solamente HTML
<?php
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE ||
strpos($_SERVER['HTTP_USER_AGENT'], 'Edge') !== FALSE) {
?>
<h3>strpos() debe haber devuelto no falso</h3>
<p>Estás usando el peor navegador, Internet Explorer</p>
<?php
} else {
?>
<h3>strpos() debe haber devuelto falso</h3>
<p>Enhorabuena, no usas un producto Microsoft</p>
<?php
}
?>
Este ejemplo mezcla los modos HTML y PHP. En vez de usar una sentencia echo de PHP para mostrar algo, se sale del modo PHP y se envía solamente HTML
Lenguaje PHP
Introducción
Comentarios en PHP
Como en todos los lenguajes de programación y de marcado existen los comentarios
Como en todos los lenguajes de programación y de marcado existen los comentarios
Sintaxis:
- Doble barra //
- Barra y asterisco para apertura y asterisco y barra para cierre /* */
Lenguaje PHP
Variables
-
Las variables se representan con un signo de dólar ($) seguido por el nombre, que es sensible a minúsculas y mayúsculas
Un nombre de variable válido tiene que empezar con una letra o con un carácter de subrayado, seguido de letras, números y caracteres de subrayado, sin espacios
-
El operador de asignación es: =
El operador comparador de igualdad es: ==
Lenguaje PHP
Variables
-
Ejemplo de variables:
<html>
<head>
<title>Tipos de variables en PHP</title>
</head>
<body>
<?php
$a = 137;
$b = "9.99";
$c = "ejemplo variables PHP";
// impresión
echo $a."<br>".$b."<br>".$c;
?>
</body>
</html>
)
Lenguaje PHP
Variables
Variables reservadas son las que PHP define con valores por defecto, están disponibles sin necesidad de requerir librerías y no se puede cambiar su contenido:
- $_SERVER: Información del entorno del servidor y de ejecución
- $_GET: Variables en el encabezado HTTP GET
- $_POST: Variables recibidas en el encabezado HTTP GET
- $_COOKIE: Variable con la cual podemos crear, acceder, editar o destruir cookies
- $_FILES: Variables que llegan al servidor con archivos mediante carga
- $_REQUEST: Es una variable de array asociativo que por defecto contiene el contenido de $_GET, $_POST y $_COOKIE
- $_SESSION: Variables de sesión
Lenguaje PHP
Variables
Tipos de datos
En PHP no es obligatorio indicar el tipo de datos al que pertenece una variable. Existen los siguientes tipos:
En PHP no es obligatorio indicar el tipo de datos al que pertenece una variable. Existen los siguientes tipos:
- integer: enteros positivos, negativos (se pueden representar en hexadecimal)
- float, double: con decimales
- string: cadena de caracteres
- boolean: tipo lógico, valores true o false
Lenguaje PHP
Instrucciones
-
Instrucción echo
Inserta texto dentro del documento HTML subyacente al código PHP
echo no es una instrucción para mostrar algo por pantalla
Ejemplo:
<?php
echo "salida en pantalla. ";
$a = 9;
echo $a; echo " El valor de a es $a.";
?>
Mostraría: salida en pantalla. 9 El valor de a es 9
Lenguaje PHP
Instrucciones
Instrucción printf
La instrucción printf ofrece más posibilidades que echo
Sintaxis:
Donde se permiten las siguientes posibilidades para el formato en los casos más habituales:
La instrucción printf ofrece más posibilidades que echo
Sintaxis:
<?php
printf(cadena formato, variable1, variable2, etc.);
?>
Donde se permiten las siguientes posibilidades para el formato en los casos más habituales:
- %s: Cadena de caracteres
- %d: Número sin decimales
- %f: Número con decimales
- %c: Carácter ASCII
Lenguaje PHP
Instrucciones
Instrucción printf
Se muestra un ejemplo que incluye todas las posibilidades de printf:
Se muestra un ejemplo que incluye todas las posibilidades de printf:
%b = 111010110111100110100010101
%c = 2
%d = 123456789
%d = -123456789
%e = 1.234568e+8
%E = 1.234568E+8
%u = 123456789
%u = 18446744073586094827
%f = 123456789.000000
%F = 123456789.000000
%g = 1.23457e+8
%G = 1.23457E+8
%o = 726746425
%s = 123456789
%x = 75bcd15
%X = 75BCD15
%+d = +123456789
%+d = -123456789