Está en la página 1de 48

Desarrollo de

aplicaciones web para


bases de datos
Almería 2005

Lenguajes de Desarrollo.
PHP
Desarrollo de
aplicaciones web
para bases de
datos
Almería 2005

Lenguajes de Desarrollo.
PHP

Contenidos
1. Introducción a PHP y características
2. Variables
3. Operadores
4. Constantes
5. Presentación por pantalla
6. Arrays o matrices
7. Estructuras de control
8. Funciones
9. Manejo de cadenas
Desarrollo de
aplicaciones web
para bases de datos

Almería 2005

Lenguajes de Desarrollo.
PHP

Contenidos
1. Introducción a PHP y características
2. Variables
3. Operadores
4. Constantes
5. Presentación por pantalla
6. Arrays o matrices
7. Estructuras de control
8. Funciones
9. Manejo de cadenas
1. Introducción a PHP y
características

Introducción a PHP
PHP (Hypertext PreProcessor)
Lenguaje de scripts, preprocesador de hipertexto, open-
source, embebido en páginas HTML, ejecutado en un servidor
remoto y de alto nivel.
<html>
<head>
<title>Ejemplo</title>
</head>
<body>
<?php
echo “Hola, mundo; soy un script PHP!”;
?>
</body>
</html>
1. Introducción a PHP y
características

Características de PHP
• PHP está disponible en el sitio Web oficial de PHP (
http://www.php.net) para su descarga gratuita (open-source)
• Se trata de un lenguaje de scripts de código abierto para
servidores
• Rendimiento. PHP y ASP. PHP es tan popular en
plataformas Linux como ASP en Windows. PHP soporte
multiplataforma.
• Portabilidad. PHP es realmente portable. Cualquier
combinación de sistema operativo (Microsoft Windows, Mac
OS, Linux, HP-UX, Solaris), servidor Web (Apache y Microsoft
Internet Information Server) y servidor de base de datos
(MySQL, Ingres, Sysbase, Oracle, Informix, Postgres,
Microsoft SQL Server, Unix dbm).
1. Introducción a PHP y
características

Sintaxis básica de PHP


<?php <?php
...    echo "Esto es una prueba";
?> ?>
<script language=”php”>
... <?php echo "Esto es una prueba" ?>
</script>

<?php
   echo "Esto es una prueba"; // Comentario de línea estilo C++
   /* Comentario de
       varias líneas */
echo "Esto es una prueba";
echo "Prueba Final"; # Comentario estilo shell
?>
Desarrollo de
aplicaciones web
para bases de datos

Almería 2005

Lenguajes de Desarrollo.
PHP

Contenidos
1. Introducción a PHP y características
2. Variables
3. Operadores
4. Constantes
5. Presentación por pantalla
6. Arrays o matrices
7. Estructuras de control
8. Funciones
9. Manejo de cadenas
2. Variables

Reglas de nomenclatura y tipos

Variable
s
• Deben empezar siempre con un símbolo de
dólar ($)
• Pueden empezar con un carácter de
subrayado (_)
• No pueden empezar con un carácter
numérico Tipos
• Deben aclarar el fin y la utilidad de sí
• No es necesario declarar el tipo de una
mismas
variable

Enteros Cadenas
Booleanos Flotantes
Arrays Objetos
2. Variables

Ejemplo de variables de tipo cadena

<?php
echo 'esto es una cadena sencilla';
?>
<?php
$cerveza = 'Heineken';
echo "El sabor de varias $cerveza's es excelente \n";
// funciona, "'" no es un carácter válido para nombres de
// variables
echo "Tómate algunas $cervezas\n";
// no funciona, 's' es un carácter válido para nombres de
// variables
echo "Tómate algunas ${cerveza}s\n"; // funciona
echo "Tómate algunas {$cerveza}s\n"; // funciona
?>
2. Variables

Variables superglobales
Pasar información almacenada en el servidor Web a los programas
que están esperando esta <?php
información exterior. Estas variables
almacenan la información $arelacionada
= 1; con el servidor,
información de acceso y$b = 2; el sistema
entrada
function Suma()
$GLOBALS. Contiene una referencia a cada variable disponible en el espectro de las
variables del script
{
   $GLOBALS["b"]
$_SERVER. Variables definidas por = $GLOBALS["a"]
el servidor Web o directamente +
relacionadas
$GLOBALS["b"];
con el entorno en donde se está ejecutando el script
$_GET. Variables proporcionadas}al script a través del método HTTP GET
$_POST. Variables proporcionadas al script a través del método HTTP POST
$_COOKIE. Variables proporcionadas al script a través del método HTTP cookies
S_FILES. Variables proporcionadas al script por medio de la subida de archivos vía HTTP
Suma();
$_ENV. Variables proporcionadas al script a través del entorno
echo $b;
$_REQUEST. Variables proporcionadas al script a través de cualquier mecanismo
?> no se puede confiar en ellas
de entrada del usuario y por lo tanto
$_SESSION. Variables registradas en la sesión del script
Desarrollo de
aplicaciones web
para bases de datos

Almería 2005

Lenguajes de Desarrollo.
PHP

Contenidos
1. Introducción a PHP y características
2. Variables
3. Operadores
4. Constantes
5. Presentación por pantalla
6. Arrays o matrices
7. Estructuras de control
8. Funciones
9. Manejo de cadenas
3. Operadores

Operadores aritméticos

Ejemplo Nombre Resultado


$a + $b Suma Suma de $a y $b
$a - $b Resta Diferencia entre $a y $b
$a * $b Multiplicación Producto de $a y $b
$a / $b División Cociente de $a y $b
$a % $b Módulo Resto de $a dividido por
$b
3. Operadores

Operadores de comparación

Ejemplo Nombre Resultado


$a = = $b Igual TRUE si $a es igual a $b
$a = = = $b Idéntico TRUE si $a es igual a $b, y son del mismo
tipo.(Sólo en PHP 4)
$a != $b Diferente TRUE si $a no es igual a $b
$a <> $b Diferente TRUE si $a no es igual a $b
$a != = $b No idénticos TRUE si $a no es igual a $b, o si no son
del mismo tipo. (Sólo en PHP 4)
$a < $b Menor que TRUE si $a es estrictamente menor que
$b
$a > $b Mayor que TRUE si $a es estrictamente mayor que
$b
$a <= $b Menor o igual que TRUE si $a es menor o igual que $b
$a >= $b Mayor o igual que TRUE si $a es mayor o igual que $b
3. Operadores
<?php
Operadores de incremento
echo / decremento
"<h3>Postincremento</h3>";
$a = 5;
echo "Debe ser 5: " . $a++ . "<br />\n";
Ejemplo Nombre echo "Debe serResultado
6: " . $a . "<br />\n";
++$a Pre-incremento echo "<h3>Preincremento</h3>";
Incrementa $a en uno, y
$a = 5;
luego devuelve $a
echo "Debe ser 6: " . ++$a . "<br />\n";
$a++ Post-incremento echo "DebeDevuelve
ser 6: " . $a,
$a . y luego
"<br />\n";
echo "<h3>Postdecremento</h3>";
incrementa $a en uno
$a = 5;
--$a Pre-decremento echo "Debe
Decrementa $a.en
ser 5: " . $a-- uno,
"<br />\n";
echo "Debeluego
ser 4: devuelve
" . $a . "<br$a/>\n";
$a-- Post-decrementoecho "<h3>Predecremento</h3>";
Devuelve $a, luego
$a = 5;
decrementa
echo "Debe $a. en
ser 4: " . --$a uno
"<br />\n";
echo "Debe ser 4: " . $a . "<br />\n";
?>
3. Operadores

Operadores de lógica
Ejemplo Nombre Resultado
$a and $b Y TRUE si tanto $a como $b son
TRUE
$a or $b O TRUE si cualquiera de $a o $b
es TRUE
$a xor $b O exclusivo TRUE si $a o $b es TRUE, pero
(Xor) no ambos
!$a No TRUE si $a no es TRUE
$a && $b TRUE si tanto $a como $b son
Y
TRUE
$a || $b TRUE si cualquiera de $a o $b
O
es TRUE
3. Operadores

Operadores de cadenas
Ejemplo Nombre Resultado
. (punto) Operador de Permite unir dos expresiones
concatenación formando una nueva cadena
de caracteres
.= Operador de Une la expresión de la
concatenación derecha con la de la
y asignación izquierda del operador
<?php
$a = "Antonio;Hola ";
$b = $a . "Mundo!"; // ahora $b contiene "Antonio;Hola
Mundo!"

$a = "Antonio;Hola ";
$a .= "Mundo!";    // ahora $a contiene "Antonio;Hola Mundo!"
Desarrollo de
aplicaciones web
para bases de datos

Almería 2005

Lenguajes de Desarrollo.
PHP

Contenidos
1. Introducción a PHP y características
2. Variables
3. Operadores
4. Constantes
5. Presentación por pantalla
6. Arrays o matrices
7. Estructuras de control
8. Funciones
9. Manejo de cadenas
4. Constantes

Definición de constantes
<?PHP
define("CONSTANTE","Este valor no se puede cambiar");
echo CONSTANTE;
// Devuelve Este valor no se puede cambiar
echo $CONSTANTE;
// No devuelve nada, $CONSTANTE no tiene ningun valor
?>
Constantes predefinidas
__FILE__. Almacena el nombre del archivo que está siendo analizado
__LINE__. Recupera el número total de líneas hasta la aparición de la constante
en el archivo actual que estamos analizando
TRUE. Representa el valor verdadero
FALSE. Representa el valor falso
NULL. Representa el valor nulo
Desarrollo de
aplicaciones web
para bases de datos

Almería 2005

Lenguajes de Desarrollo.
PHP

Contenidos
1. Introducción a PHP y características
2. Variables
3. Operadores
4. Constantes
5. Presentación por pantalla
6. Arrays o matrices
7. Estructuras de control
8. Funciones
9. Manejo de cadenas
5. Presentación por pantalla

Función echo
echo (string arg1 [, string argn...])
<?PHP
$cadena = "Hola Mundo";
echo "Hola Mundo";
echo "Esto se extiende por varias líneas. Los saltos de
línea
también se envían";
echo "Esto se extiende \n por varias líneas. Los saltos
de
línea \n"
también se envían\n";
echo $cadena . "¿Cómo estáis? \n";
/* Uso de variable con el operador de concatenación de
cadenas */
?>
5. Presentación por pantalla

Función print
print (string arg)

<?PHP
$cadena = "Hola Mundo";
print "Hola Mundo";
print "Esto se extiende por varias líneas. Los saltos de línea
también se envían";
print "Esto se extiende \n por varias líneas. Los saltos de
línea \n
también se envían\n";
print $cadena . "¿Cómo estáis? \n";
/* Uso de variable con el operador de concatenación de
cadenas */
?>
5. Presentación por pantalla

Función sprintf

string sprintf (string formato [,mixed args])


<?PHP
$anno = 1990;
$mes = 4;
$dia = 30;
$fechaiso = sprintf ("%04d-%02d-%02d", $anno,
$mes, $dia); <?PHP
/* $fechaiso = 1990-04-30 */
$pelas1 = 68.75;
?> $pelas2 = 54.35;
$pelas = $pelas1 + $pelas2;
// echo $pelas mostrará "123.1";
$formateado = sprintf ("%01.2f", $pelas);
// echo $formateado mostrará "123.10"
?>
5. Presentación por pantalla

Función printf
int printf ( string formato [, mixed args])

<?PHP
$anno = 1990;
$mes = 4;
$dia = 30;
printf ("%04d-%02d-%02d", $anno, $mes, $dia);
?>
<?PHP
$pelas1 = 68.75;
$pelas2 = 54.35;
$pelas = $pelas1 + $pelas2;
printf ("%01.2f", $pelas);
?>
5. Presentación por pantalla

Función print_r
bool print_r ( mixed expresion [, bool devolver])
<?php
$a = array ('a' => 'manzana', 'b' => 'banano', 'c' => array
('x', 'y','z'));
print_r ($a); Array
?> (
[a] =>
manzana
[b] => banano
[c] => Array
(
[0] => x
[1] => y
[2] => z
)
Desarrollo de
aplicaciones web
para bases de datos

Almería 2005

Lenguajes de Desarrollo.
PHP

Contenidos
1. Introducción a PHP y características
2. Variables
3. Operadores
4. Constantes
5. Presentación por pantalla
6. Arrays o matrices
7. Estructuras de control
8. Funciones
9. Manejo de cadenas
6. Arrays o matrices

Inicialización de arrays
$Estudiante[0] = “Antonio Becerra”;
$Estudiante[1] =<?php
“Manolo Torres”;
$matriz = array("unamatriz" =>
array(6 => 5, 13 => 9, "a" =>
array( [clave =>] valor 42));
, ... echo $matriz["unamatriz"][6]; //
) 5
// clave puede ser un integer o string
echo $matriz["unamatriz"]
// valor puede ser cualquier valor
[13]; // 9
<?php echo $matriz["unamatriz"]
["a"];
$matriz = array("foo" => "bar", 12 => // 42
true);
echo $matriz["foo"]; // bar ?>
echo $matriz[12]; // 1
?>
6. Arrays o matrices

Manejo de arrays
Función unset() permite eliminar la definición de claves de un array
<?php
$a = array(1 => 'uno', 2 => 'dos', 3 => 'tres');
unset($a[2]);
/* producirá una matriz definida como
$a = array(1 => 'uno', 3 => 'tres');
y NO
$a = array(1 => 'uno', 2 =>'tres');
*/
print_r($a);
?>

Función count() determina el tamaño o número de elementos de un arr


6. Arrays o matrices

Manejo de arrays
Función array_slice() permite obtener una parte de un array
<?php
$a = array(1 => 'uno', 2 => 'dos', 3 => 'tres',
4 => 'cuatro', 5 => 'cinco', 6 => 'seis', 7 => 'siete');
$b = array_slice($a,4);
print_r($a);
print_r($b);
?><?PHP
$frutas = array ("limón", "naranja", "plátano", "manzana");
Función array_unique() toma una matriz de entrada y devuelve
sort ($frutas);
una nueva matriz sin valores repetidos
foreach ($frutas as $valor)
unción sort(){ permite clasificar un array según orden numérico y alfabét
echo "frutas[$clave] = ". $valor."\n";
}
Desarrollo de
aplicaciones web
para bases de datos

Almería 2005

Lenguajes de Desarrollo.
PHP

Contenidos
1. Introducción a PHP y características
2. Variables
3. Operadores
4. Constantes
5. Presentación por pantalla
6. Arrays o matrices
7. Estructuras de control
8. Funciones
9. Manejo de cadenas
7. Estructuras de control

Sentencias condicionales (if-else)


if
if (expresion)<?PHP
(expresion)
{ $a=5;
sentencia;
sentencia; $b=3;
} if ($a > $b)
{
echo "a es mayor que b\n";
$b = $a;
echo "Ahora el valor de b es " . $b;
}
<?PHP ?>
$edad=19;
f ($edad < 18)
echo "No puedes entrar porque eres menor de edad\n";
else echo "Si puedes entrar porque eres mayor de edad\n";
>
7. Estructuras de control
switch
(variable)
Sentencias condicionales (elseif-switch)
{
case valor1:
<?PHP <?PHP
$a = 2; sentencia; $valor = "primero";
$b = 3; switch ($valor)
f ($a > $b) sentencia; {
{ case valor2: case "primero":
echo "a es mayor que b"; echo "Estamos en el primer caso \n";
sentencia;
} break;
elseif($a < $b) sentencia; case "segundo":
{ [...] echo "Estamos en el segundo caso \n"
echo "a es menor que b"; default: break;
} case "tercero":
?> sentencia; echo "Estamos en el tercer caso \n";
break;
sentencia;
case "cuarto":
}
echo "Estamos en el cuarto caso \n";
break;
}
?>
7. Estructuras de control

Bucles condicionales (while)


while
(expresion) <?PHP <?PHP
sentencia; $i = 1; $i = 1;
ó while ($i <= 10) while ($i <= 10):
while { print $i . "\n";
(expresion) print $i . "\n"; $i++;
{ $i++; endwhile;
sentencia; } ?>
sentencia; ?>
} <?PHP
ó $i = 5;
while while ($i <= 10)
(expresion): {
sentencia; print $i . "\n";
sentencia; }
endwhile; ?>
7. Estructuras de control

Bucles condicionales (do while)

<?PHP <?PHP
do $i = 1; $i = 0;
{ do do
sentencia; { {
sentencia; print $i . "\n"; print $i . "\n";
while $i++; $i++;
(expresion); } while($i<=10); } while($i > 1);
?> ?>
7. Estructuras de control

Bucles condicionales (for)


<?PHP
or (expresion1; expresion2; expresion3)
sentencia; for ($i=1; $i<=10; $i++)
print $i;
for ($i=1; ;$i++)
or (expresion1; expresion2; expresion3)
{ <?PHP
if ($i>10) $i=1;
sentencia; break; for (;;)
sentencia; print $i; {
} if ($i > 10)
{
or (expresion1; expresion2; expresion3): break;
sentencia; }
print $i;
sentencia;
$i++;
ndfor; }
?>
7. Estructuras de control

Bucles condicionales (foreach)

foreach (expresionarray as $valor) sentencia;


ó
foreach (expresionarray as $clave => $valor) sentencia;

<?PHP /* Ejemplo 2. Valor con clave impresa */


/* Ejemplo 1. Sólo valor */ $a = array(1,2,3,17);
$a = array(1,2,3,17); $i=0;
foreach ($a as $valor) foreach ($a as $valor)
{ {
print "El valor actual de \$a: print "\$a[$i] => $valor \n";
$valor \n"; $i++;
} }
7. Estructuras de control

Bucles condicionales (foreach)


/* Ejemplo 3. Clave y valor */ /* Ejemplo 4. matriz multi-dimensional */
$a = array( $a[0][0] = "a";
"uno" => 1, $a[0][1] = "b";
"dos" => 2, $a[1][0] = "y";
"tres" => 3, $a[1][1] = "z";
"diecisiete" => 17); foreach($a as $v1) {
foreach ($a as $clave => $valor) foreach ($v1 as $v2) {
{ print "$v2\n";
print "\$a[$clave] => $valor \n"; }
} }
/* Ejemplo 5. Matriz dinámica */
foreach(array(1, 2, 3, 4, 5) as $v) {
print "$v\n";
}
?>
7. Estructuras de control

Sentencia include()

La sentencia include() incluye y evalúa el archivo especificado


<?php
vars.php function foo()
<?php {
$color = 'verde'; global $color;
$fruta = 'manzana'; include 'vars.php';
?> echo "Una $fruta $color";
test.php }
<?php foo(); // Una manzana verde
echo "Una $fruta $color"; // Una echo "Una $fruta $color"; // Una verd
include 'vars.php'; ?>
echo "Una $fruta $color"; // Una manzana verde
?>
Desarrollo de
aplicaciones web
para bases de datos

Almería 2005

Lenguajes de Desarrollo.
PHP

Contenidos
1. Introducción a PHP y características
2. Variables
3. Operadores
4. Constantes
5. Presentación por pantalla
6. Arrays o matrices
7. Estructuras de control
8. Funciones
9. Manejo de cadenas
8. Funciones

Definición de funciones
function nombre_función ($arg_1, $arg_2, ..., $arg_n)
{
código
}
Ejemplos de funciones
<?php
$crearfuncion = true; if ($crearfuncion) funcion();
bar(); function bar()
if ($crearfuncion) { {
function funcion () echo "Existe inmediatamente
{ cuando el programa se
echo "No existo hasta que inicia.\n";
el programa me alcance.\n"; }
} ?>
}
8. Funciones

Paso de parámetros a funciones


• Paso de parámetros por valor (comportamiento por defecto)
• Paso de parámetros por referencia
• Paso de parámetros por defecto

Paso de parámetros por referencia


<?php function add_cadena($str)
function funcion_llamada(&$numero) {
{ $str .= ' y algo más.';
$numero = $numero +1; }
echo $numero; $cadena = 'Esto es una
} cadena, ';
$num=10; add_cadena(&$cadena);
funcion_llamada($num); echo $cadena; /* 'Esto es
echo $num; una cadena, y algo más.‘*/
8. Funciones

Paso de parámetros a funciones


• Paso de parámetros por valor (comportamiento por defecto)
• Paso de parámetros por referencia
• Paso de parámetros por defecto

Paso de parámetros por defecto

<?php
function hacercafe($tipo = "cappucino")
{
return "Hacer una taza de $tipo.\n";
}
echo hacercafe(); Hacer una taza de cappucino.
echo hacercafe("espresso"); Hacer una taza de espresso.
?>
8. Funciones

Retorno de valores

<?php
<?php function small_numbers()
function cuadrado($num) {
{ return array (0, 1, 2);
return $num * $num; }
} $a;
echo cuadrado(4); // saca '16'. $a = small_numbers();
?> print_r($a);
?>
Desarrollo de
aplicaciones web
para bases de datos

Almería 2005

Lenguajes de Desarrollo.
PHP

Contenidos
1. Introducción a PHP y características
2. Variables
3. Operadores
4. Constantes
5. Presentación por pantalla
6. Arrays o matrices
7. Estructuras de control
8. Funciones
9. Manejo de cadenas
9. Manejo de cadenas

Función strcmp()
int strcmp ( string cad1, string cad2)

Función strcasecmp()
int strcasecmp ( string cad1, string cad2)
<?PHP
$var1 = "Hola";
$var2 = "hola";
if (!strcasecmp ($var1, $var2)) {
echo '$var1 es igual a $var2 en una comparación sin
tener
en cuenta ' . 'mayúsculas o minúsculas';
}
?>
9. Manejo de cadenas

Función strlen()
int strlen ( string cad)

Función str_replace()
string str_replace ( string aguja, string cadena, string pajar)

<?PHP
$bodytag =
str_replace ("%cuerpo%", "negro", "<body text=%cuerpo
%>");
echo $bodytag;
?>
9. Manejo de cadenas

Función strpos()
int strpos ( string cadena, string subcadena
[, int desplazamiento])
Función strtolower()
string strtolower ( string cadena)
<?PHP
$cad = "María Tenía Un Corderito al que QUERÍA
Mucho";
$cad = strtolower($cad);
print $cad; # maría tenía un corderito al que querÍa
mucho
?>
9. Manejo de cadenas

Función strtoupper()

<?PHP string strtoupper ( string cadena)


$cad = "María Tenía Un Corderito al que QUERÍA Mucho";
$cad = strtoupper($cad);
print $cad; # MARÍA TENÍA UN CORDERITO AL QUE QUERÍA
MUCHO
?>
Función substr()
string substr ( string cadena, int inicio [, int longitud]) )
<?PHP
$resto = substr ("abcdef", 1); // devuelve "bcdef"
echo $resto . "\n";
$resto = substr ("abcdef", 1, 3); // devuelve "bcd"
echo $resto;
?>
9. Manejo de cadenas

Función strstr()
string strstr ( string cadena, string subcadena)
<?PHP
$email = 'sterling@designmultimedia.com';
$dominio = strstr ($email, '@');
print $dominio; // imprime
@designmultimedia.com
?> <?PHP
$email =
'sterlingdesignmultimedia.com';
If (!strstr($email,’@’)
echo “La dirección $email no es
correcta”;
?>