Publicado el 24 de Junio del 2017
1.615 visualizaciones desde el 24 de Junio del 2017
241,4 KB
69 paginas
Creado hace 15a (22/05/2009)
Programación en Internet 2008-2009
Departamento de Lenguajes y
Sistemas Informáticos
PHPPHP
Programación en Internet
Curso 2008-2009
Programación en Internet – Curso 2007-2008
Índice (I)
•
Introducción
– Ventajas
– Multiplataforma
Multiplataforma
• Características del lenguaje
– Sintaxis:
• Variables
• Arrays
• Cadenas de texto
• Constantes
• Operadores
• Sentencias de control
• Funciones
Funciones
• Funciones y librerías
– Include/Require
– Manejo de ficheros
– Acceso al sistema de ficheros
– Funciones matemáticas y de fechas
DLSI - Universidad de Alicante
1
Programación en Internet 2008-2009
Programación en Internet – Curso 2007-2008
Índice (II)
• Orientación a objetos
• Entorno de desarrollo en Internet
– Variables predefinidas
– Objetos y funciones del entorno
– Tratamiento de formularios
– Tratamiento de sesiones
– Subir ficheros
– Cabeceras HTTP
Programación en Internet – Curso 2007-2008
Índice (y III)
• Acceso a bases de datos
– Conceptos generales
Conceptos generales
– Acceso a MySQL
– Acceso a ODBC
• Depuración
• Otras funcionalidades
• Bibliografía
Bibliografía
DLSI - Universidad de Alicante
2
Programación en Internet 2008-2009
Programación en Internet – Curso 2007-2008
Introducción
• PHP:
Personal Home Page Tools
– Personal Home Page Tools
– PHP: Hipertext Preprocessor
• Historia:
• Inicio del desarrollo: otoño de 1994
• PHP 1, 1995
• PHP 2, 1995-1997
• PHP 3, 1997-2000
• PHP 4, mayo 2000
PHP 4, mayo 2000
• PHP 5, julio 2004
• Lenguaje de programación:
– Paradigma: imperativo y OO
– Débilmente tipado
Programación en Internet – Curso 2007-2008
Introducción
• Basado en C, C++, Java, Awk, Perl y Bash (shell
script de Unix)
script de Unix).
• Tiene características de POO: permite crear clases y
objetos
• Usos:
– Tecnología de servidor interpretada, el código se intercala
entre el HTML
Programación de consola (línea de comandos)
– Programación de consola (línea de comandos)
– Aplicaciones con interfaz gráfica con Qt o GTK+
DLSI - Universidad de Alicante
3
Programación en Internet 2008-2009
Programación en Internet – Curso 2007-2008
Ventajas
• Multiplataforma
• Alta velocidad de respuesta (¿el más rápido?)
• Alta velocidad de respuesta (¿el más rápido?)
• Software libre bajo licencia GPL:
– Es gratuito
– El código fuente está disponible
– Y existe el permiso para modificarlo
• La curva de aprendizaje es baja, ya que está basado
en lenguajes conocidos y muy comunes
• Existe una gran cantidad de módulos y añadidos
para complementar y aumentar sus prestaciones
p
p
p
y
Programación en Internet – Curso 2007-2008
Multiplataforma
• Funciona sobre diversos sistemas operativos:
• UNIX (todas las variantes)
• UNIX (todas las variantes)
• Win32 (NT/W95/W98/W2000/XP)
• Mac (WebTen), OS/2, BeOS
• Funciona con distintos servidores web:
• Apache (UNIX, Win32)
• ISAPI (IIS, PWS)
• NSAPI (Netscape iPlanet)
• Java servlet
• AOLServer
• AOLServer
• Permite el acceso a más de 20 SGBD:
• Nativo: Oracle, BD2, Informix, MySQL, PostgreSQL, Sybase, dBase
• ODBC: MS-Access, SQL-Server, etc.
DLSI - Universidad de Alicante
4
Programación en Internet 2008-2009
Programación en Internet – Curso 2007-2008
Ficheros de PHP
• Los ficheros que contienen código PHP
i
i
t
d l
ti
t
tienen que tener una de las siguiente
extensiones:
– .php3, para código de la versión 3
– .php4, para código de la versión 4
– .php, genérico y el más utilizado
phtml cada vez menos utilizado
– .phtml, cada vez menos utilizado
• PHP4 es compatible con PHP3 (a excepción
de unas pocas características)
Programación en Internet – Curso 2007-2008
Características del lenguaje (I)
• Delimitadores de código de servidor:
<?
?>
<? ... ?>
<?php ... ?>
<script language=“php”>...</script>
<% ... %>, no siempre disponible, según
configuración del intérprete
• Comentarios:
/* Comentario tipo C
multilínea */
// Comentario tipo C++, una sola línea
# Comentario tipo Bash/Perl, una línea
DLSI - Universidad de Alicante
5
Programación en Internet 2008-2009
Programación en Internet – Curso 2007-2008
Características del lenguaje (II)
• ¿Hay algún problema con <? ... ?> ?
• ¿Dónde se usa también?
Programación en Internet – Curso 2007-2008
Características del lenguaje (III)
Instrucción de procesamiento de XML:
•
<?xml version="1 0" encoding="utf 8"?>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-
strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
i
i
á i
xml:lang="en-US" lang="en-US">
i
(I i
l d l W3C)
(Inicio página principal del W3C)
• Produce un error de análisis:
Parse error: syntax error, unexpected T_STRING in
C:\Web\index.php on line 1
DLSI - Universidad de Alicante
6
Programación en Internet 2008-2009
Programación en Internet – Curso 2007-2008
Características del lenguaje (IV)
• Solución 1:
Modificar fichero h i i para desactivar el uso de <?
Modificar fichero php.ini para desactivar el uso de <?
como inicio del código PHP:
short_open_tag=off
Hay que usar <?php …?>
Solución 2:
• Solución 2:
<?php echo '<?xml version="1.0" encoding="iso-
8859-1"?>'; ?>
Programación en Internet – Curso 2007-2008
Características del lenguaje (y V)
• Final de instrucción: punto y coma (;)
• Para imprimir cadenas de caracteres:
d
t
i
i
i
d
P
echo “cadena de texto”;
<?=“cadena de texto”?>
• Mayúsculas y minúsculas:
– Con los nombres de variable, SÍ que importan:
u e o es d e e te de $
$MiNumero es diferente de $minumero
$
u e o
– Con los nombres de funciones y palabras
reservadas, NO importa:
PRINT() es igual que print()
DLSI - Universidad de Alicante
7
Programación en Internet 2008-2009
Programación en Internet – Curso 2007-2008
Variables (I)
• PHP es un lenguaje débilmente tipado
• No hace falta declarar las variables se declaran
• No hace falta declarar las variables, se declaran
automáticamente al aparecer por primera vez en el
código fuente
• TODAS LAS VARIABLES LLEVAN EL SÍMBOLO $
• Sin embargo, hay unos tipos básicos:
– int, integer Enteros. 0NNN en base 8, 0xNN en base 16.
– float, double, real Coma flotante
– array, string, object
DELANTE DE SU NOMBRE:
$var1 = 123;
$var2 = ‘hola mundo’;
• El tipo de las variables es ‘mixed’, similar tipo
‘variant’ en VBScript
Programación en Internet – Curso 2007-2008
Variables (II)
• Ejemplos de tipos:
– Arrays.
Enteros en decimal octal o hexadecimal:
– Enteros, en decimal, octal o hexadecimal:
$Var = 123;
– Coma flotante:
$Var = 1.3e4;
$Var[2] = 123;
Cadenas:
– Cadenas:
$Var = “Cadena de texto\n”;
$Var = new oClase();
– Objetos:
DLSI - Universidad de Alicante
8
Programación en Internet 2008-2009
Programación en Internet – Curso 2007-2008
Variables (III)
• Una variable puede tener diferentes tipos a lo
largo del tiempo
largo del tiempo
• Para evitar errores y ambigüedades, PHP realiza
las conversiones de tipo necesarias (casts) a la
hora de operar con variables y contenidos de
tipos diferentes:
$num = 123;
echo $num; //num se transforma en String
• Para realizar una conversión explícita:
$var = (string)123;
• También se puede cambiar el tipo con settype():
$var = 12;
settype($var, double);
Programación en Internet – Curso 2007-2008
Variables (IV)
• Ámbito Según el lugar donde esté
declarada:
declarada:
– Global a un fichero
– Local a una función
– Local a una clase/objetos (variables de clase o
atributos). Accesibles mediante operador ‘->’
• Para acceder a una variable global desde
f
una función ‘global’
l b l’
ió ‘
$mivar = 3;
function mifuncion() {
global $mivar;
echo $mivar;
}
DLSI - Universidad de Alicante
9
Programación en Internet 2008-2009
Programación en Internet – Curso 2007-2008
Variables (y V)
• Se pueden definir ‘alias’ de una variable: dos o
más variables que apuntan a un mismo dato (como
si fueran punteros)
• El operador ‘&’ para obtener las referencias:
• Se emplea unset() para eliminarlas:
$malnom = &$variable;
unset ($malnom);
Se pueda acceder al contenido de una variable
• Se pueda acceder al contenido de una variable
(v1) a través de otra variable (v2) que almacena el
nombre de la variable (v1) mediante ‘$$’:
$a = 123;
$b = ‘a’;
echo $$b; // 123
Programación en Internet – Curso 2007-2008
Arrays (I)
• Se declaran y acceden los elementos con los
corchetes: [ ]
[ ]
h t
• La primera componente es la cero
• Los elementos pueden tener distinto tipo en un
mismo vector
• Se puede acceder a un elemento mediante un
índice asociativo (tablas hash)
• Arrays multidimensionales
• Constructor: array()
DLSI - Universidad de Alicante
10
Programación en Internet 2008-2009
Programación en Internet – Curso 2007-2008
Arrays (II)
• Tipos de los elementos:
t 1[0]
$
1
$vector1[0] = 1;
$vector1[1] = ‘hola’;
$vector1[“nom”] = “juan”;
• Constructor:
$vector2 = array (1, “jorge”, 3);
$vector3 = array(
0 => 1,
1 => “jorge”,
“nom” => “jaime”,
3 => 5 );
// índice => valor
Programación en Internet – Curso 2007-2008
Arrays (III)
• Otra forma:
$a[] = 'a';
$a[] = 'b';
$a[] = 'c';
// equivale a
$a = array('a', 'b', 'c');
// equivale a
$a = array(0 => 'a', 1 => 'b', 2 => 'c');
q
DLSI - Universidad de Alicante
11
Programación en Internet 2008-2009
Programación en Internet – Curso 2007-2008
Arrays (IV)
• Un índice puede ser una cadena o un entero
• Cuando el índice es una cadena, no existe el
correspondiente índice entero
• Cuando el índice se omite, automáticamente
se genera un índice empezando desde 0
• Si un índice es un entero, el siguiente índice
generado será el mayor índice entero + 1
• Cuando se definen dos índices idénticos, el
último sobrescribe al primero
Programación en Internet – Curso 2007-2008
Arrays (V)
$firstquarter = array(1 => 'January', 'February',
'March');
print_r($firstquarter);
Genera:
Array ( [1] => January [2] => February [3] =>
March
Comentarios de: PHP (0)
No hay comentarios