Está en la página 1de 63

PHP

Tecnologas y Sistemas Web II

Juan Pablo Rodriguez B.


www.aulaweb.net
Introduccin a PHP

Creado por Rasmus Lerdorf para uso personal en 1994

PHP = PHP: Hypertext Preprocessor

Es un mdulo que se aade al servidor web y fue


concebido inicialmente para Apache

Es potente, fcil de aprender, de libre distribucin, permite


el acceso a bases de datos y otras funcionalidades
orientadas a la red.

Dispone de abundante soporte en la Web


Introduccin a PHP

PHP es un lenguaje de script del lado del


servidor. Otros lenguajes similares son ASP, JSP
o ColdFusion

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.
Introduccin a PHP
Introduccin a PHP

Servidor web Cliente


(navegador)

Pgina Pgina
HTML HTML
internet

<P>Hola, Ana</P>
Introduccin a PHP

Servidor web Cliente


(navegador)

Pgina Pgina Pgina


PHP HTML HTML
internet
Intrprete
PHP

<?PHP
$nombre = "Ana";
print ("<P>Hola, $nombre</P>");
?>

<P>Hola, Ana</P>
Cmo desarrollar un proyecto
en PHP?
Los ficheros PHP son ficheros de texto y se pueden
crear con cualquier editor de texto, aunque es
mucho ms conveniente utilizar IDE que permiten
editar el cdigo ms cmodamente, y proporcionan
funciones como la deteccin y correccin de errores,
visualizacin de las pginas en el navegador, ayuda
sensible al contexto y gestin de todos los recursos
asociados al proyecto.

Algunos entornos de desarrollo:

Netbeans.
Dev-PHP
Eclipse
Sintaxis Basica

PHP es sensible a las maysculas.

Para incrustar scripts de PHP se utilizan las etiquetas:


<?PHP ... ?>

Las instrucciones se separan con un ; como en C,


java u otros lenguajes.

Comentarios: /* */ (varias lneas ) y // (una lnea)


/* Comentario de
varias lneas */
Sintaxis Basica

Salidas de datos: echo y print.

echo: muestra una o ms cadenas separadas por ,


echo Hola mundo;
echo Hola , mundo;

print: muestra una cadena


print cadena;

print Hola mundo;


print Hola . mundo;

<?= expresin ?> equivale a <? echo expresin ?>


Sintaxis Bsica

Uso de \n para generar cdigo HTML legible, Sin \n


Cdigo PHP
print (<P>Prrafo 1</P>);
print (<P>Prrafo 2</P>);

Cdigo HTML
<P>Prrafo 1</P><P>Prrafo 2</P>

Salida
Prrafo 1
Prrafo 2
Sintaxis Bsica

Uso de \n para generar cdigo HTML legible, Con \n


Cdigo PHP
print (<P>Prrafo 1</P>\n);
print (<P>Prrafo 2</P>\n);

Cdigo HTML
<P>Prrafo 1</P>
<P>Prrafo 2</P>

Salida
Prrafo 1
Prrafo 2
Ejercicio

Realice una pagina .php que permita mostrar un


mensaje Hola Mundo utilizando algunos elementos
HTML para aplicar diferentes formatos.
Sintaxis Bsica

Inclusin de ficheros externos:

include()

include_once()

require()
Ejercicio

1. Utilizando una plantilla HTML5 realice la


adaptacin de la misma para trabajar las
diferentes secciones de la pagina mediante la
incrustacin de scripts de php.

2. Realice la incrustacin de algunas secciones


bsicas de una pagina web.
Tipos de Datos

PHP soporta 8 tipos de datos primitivos:


Tipos escalares: boolean, integer, double, string
Tipos compuestos: array, object
Tipos especiales: resource, NULL

El tipo de una variable no se suele especificar. Se


decide en tiempo de ejecucin en funcin del
contexto y puede variar.
Tipos de Datos

Funciones de inters:
gettype(): devuelve el tipo de una variable.

is_array(), is_bool(), is_float(), is_integer(), is_null(),


is_numeric(), is_object(), is_resource(),
is_scalar(), is_string(): comprueban si una variable
es de un tipo dado.

var_dump(): muestra el tipo y el valor de una


variable. Es especialmente interesante con los
arrays
Tipos de Datos

Tipo string: Las cadenas se encierran entre comillas


simples o dobles:
simples: admite los caracteres de escape \
(comilla simple) y \\ (barra). Las variables NO
se expanden

dobles: admite ms caracteres de escape,


como \n, \r, \t, \\, \$, \. Los nombres de
variables S se expanden.
Tipos de Datos

Tipo string: Las cadenas se encierran entre comillas


simples o dobles:

Acceso a un carcter de la cadena:

La forma es $inicial = $nombre{0};


Variables

El nombre de una variable debe cumplir las


siguientes normas:
Slo puede estar formada por letras y nmeros y
los smbolos ($ dlar y _ guin bajo).
El primer carcter del nombre del identificador o
variable debe ser estrictamente el signo de dlar.

Por ejemplo
$miNovia = 'Gabriela Vergara <br />';
$nacio = 'Caracas, Venezuela<br />';
$cumple = '29 de Mayo <br />';
$signo = 'Gminis <br />'
Variables

A diferencia de otros lenguajes, PHP posee una gran


flexibilidad a la hora de operar con variables.

En efecto, cuando definimos una variable


asignndole un valor, el computador le atribuye un
tipo. Si por ejemplo definimos una variable entre
comillas, la variable ser considerada de tipo
cadena:

$variable='5'; //esto es una cadena


Variables

Sin embargo si pedimos en nuestro script realizar una


operacin matemtica con esta variable, no
obtendremos un mensaje de error sino que la
variable cadena se tomara como numrica:

$cadena = '25';
$entero = 15;
echo '$cadena + $entero = ';
echo $cadena + $entero
Variables

PHP se encarga durante la ejecucin de interpretar


el tipo de variable necesario para el buen
funcionamiento del programa. Esto podra parecer
una ventaja pero en la prctica es un dolor de
cabeza.

Sin embargo, en contraste, hay que tener cuidado


en no cambiar maysculas por minsculas ya que,
en este sentido, PHP es sensible. Conviene por lo
tanto trabajar ya sea siempre en maysculas o
siempre en minsculas para evitar este conflicto
regularmente difcil de identificar.
Variables Predefinidas

PHP dispone de una gran cantidad de variables que


ya estn definidas, y que tenemos a disposicin para
usarlas dentro de nuestros script:

$GLOBALS, $_SERVER, $_GET, $_POST, $_FILES,


$_REQUEST, $_SESSION, $_ENV, $_COOKIE,
$php_errormsg, $HTTP_RAW_POST_DATA,
$http_response_header, $argc, $argv
Expansin de Variables

Propiedad de PHP de incluir el valor de la variables


en una cadena. Y funciona si la cadena se delimita
con ".

$escudo = '../img/escudoVeracruz.jpg';

echo "<img src='$escudo' />";


Variables Variables

PHP puede reconocer y manejar variables que se


refieran a otras variables. Se trata de variables cuyo
contenido es el nombre de otras variables.

$saludo = 'Programmation en PHP';


$mensaje = 'saludo';
echo $$mensaje.'<br />';

$saludo = 'Programming in PHP';


$mensaje = 'saludo';
echo $$mensaje.'<br />';
Variables Variables

$provincia1 = San Jose;


$provincia2 = Alajuela;
$provincia3 = Heredia;
$provincia4 = Cartago;
$provincia5 = Limn;
$provincia6 = Guanacaste;
$provincia7 = Puntarenas;

for($i = 1;$i <= 7; $i++) {


echo $provincia.$i;
}
Constantes

Una constante es un dato cuyo valor no puede


variar durante la ejecucin del programa.

El nombre de las constantes es sensible a


maysculas.

Por convencin, los identificadores (nombres) de las


constantes suelen declararse en maysculas.

El alcance de una constante es global, es decir, es


posible acceder a ellas sin preocuparse por el
mbito de alcance.
Constantes

Un nombre de constante vlido empieza con una


letra o el carcter de subrayado, seguido por una
serie letras, nmeros, o subrayados, no admiten
espacios en blanco, signos de puntuacin (acentos,
!, ?, etc), ni caracteres especiales(%, , etc).

Se puede definir una constante usando la funcin


define(). Una vez definida, no puede ser modificada,
ni eliminada.

Solo se puede definir como constantes valores


escalares (boolean, integer, float y string ).
Constantes

Para obtener el valor de una constante es necesario


especificar su nombre.

A diferencia de las variables, no se tiene que


especificar el prefijo $.

Tambin se puede utilizar la funcin constant() para


obtener el valor de una constante.

Ejemplo:

define('YARDA', 0.9144 );
define('RECORD', 5048 );
Diferencias constantes y variables:

No son precedidas por un smbolo de dlar ($).

Son declaradas usando la funcin() define, nunca


por asignacin simple.

Se definen y acceden sin tener en cuenta las


reglas de alcance del mbito.

No pueden ser redefinidas o eliminadas despus


de establecerse.

Las constantes solo puede albergar valores


escalares (boolean, integer, float y string ).
Constantes Predefinidas

En PHP existen algunas constantes predefinidas que


no requieren la instruccin: define('Nombre','Valor').

$cadena = 'Ruta: '.__FILE__.'<br />';


$cadena .= 'Esta es la lnea: ';
$cadena .= __LINE__.' del archivo<br />';
$cadena .= 'Versin PHP: '.PHP_VERSION;
$cadena .= 'Sistema operativo: '.PHP_OS;
echo $cadena;
Funciones de Manejo de
Variables
PHP proporciona funciones para manipular las
variables que se usaran en secciones posteriores:

isset: Determina si una variable tiene valor. isset($var).

unset: Elimina el contenido de una variable. El


resultado es un NULL unset($var).

empty: Regresa un true si la variable todava no ha


recibido valor empty($var).
Funciones de Manejo de
Variables
PHP proporciona funciones para manipular las
variables que se usaran en secciones posteriores:

gettype: Permite conocer el tipo de datos de la


variable gettype($var).

settype: Permite modificar el tipo de dato de una


variable settype($var, 'tipo').

lowercase: Convierte el contenido de una variable


alfanumrica en minsculalowercase($var).
Funciones de Manejo de
Variables
PHP proporciona funciones para manipular las
variables que se usaran en secciones posteriores:

uppercase: Convierte el contenido de una variable


alfanumrica en mayscula uppercase($var).

is_int: Esta funcin regresa true si la variable es


entera; en caso contrario devuelve false. is_int($var).

is_float: Regresa true si la variable es de tipo float; en


caso contrario regresa false. is_float($var).
Funciones de Manejo de
Variables
PHP proporciona funciones para manipular las
variables que se usaran en secciones posteriores:

is_number: Regresa true si la variable es un nmero o


cadena numrica; en caso contrario, devuelve false.
is_number($var).
Arreglos indexados

Son aquellos en las que el ndice es un valor


numrico.

$estaciones = array ('primavera', 'verano', 'otoo',


'invierno');

$sentidos = array ('gusto', 'oido', 'olfato', 'tacto',


'vista');

$numeros = array(1,2,30, 50, 60, 70);


Arreglos indexados

Los arrays se ordenan usando las funciones asort(),


arsort(),ksort(),rsort(), sort(), uasort() y uksort() segn el
tipo de ordenacin.

for($i = 0; $i < 10; $i++) {


$vector[$i] = mt_rand(1, 1000);
echo $vector[$i].' ';
}
sort($vector);
for($i = 0; $i < 10; $i++) {
echo $vector[$i].' ';
}
Arreglos indexados

Otra funcin interesante es count que cuenta el


nmero de elementos de un arreglo.

$temperatura = array(23, 25,27, 23, 27,26, 26, 28,27,


22, 26, 21, 23, 24, 21, 18, 18, 19, 26, 28, 27, 27, 26, 18,
23, 26, 24, 27);
sort($temperatura);
$n = count($temperatura);
for($i = 0; $i < $n; $i++)
echo $temperatura[$i];
Arreglos asociativo

Es un array que esta formado por conjuntos de


parejas ndice => valor, o como suele expresarse en
ingls, key, value. Los cuales se expresan
comunmente con ndices o keys. Un array asociativo
permite usar strings como ndices, es decir, cadenas
de texto.

$semanaArray = array('Mon' => 'Lunes', 'Tue' =>


'Martes', 'Wed' => 'Miercoles', 'Thu' => 'Jueves', 'Fri' =>
'Viernes', 'Sat' => 'Sbado', 'Sun' => 'Domingo');
Arreglos asociativo

Una funcin interesante con los arrays asociativos es


la funcin extract(), la cual permite crear un
conjunto de variables con las claves de un vector
asociativo y cada variable tomara el valor del vector
asociativo, asi que cada clave se convertir en
variable y cada valor en el valor de la variable.
Matrices

Los arrays bidimensionales - matrices - similares a una


tabla de doble entrada. Cada uno de los elementos
se identifica unvocamente por un nombre
($nombre) seguido de dos ([]) que contienen los
ndices del array.

Los ndices pueden ser de tipo escalar - equivalen al


nmero de fila y columna que la celda ocupa en la
tabla o puede ser asociativos lo que equivaldra en
alguna medida a usar como ndices los nombres de
la fila y de la columna.
Asignaciones

El smbolo = permite asignar valores a variables:

$calle = 'Veracruz';
$mi_numero = 319;

El operador .= agrega valores al contenido de una


variable, es equivalente a $var = $var + 'nuevo valor';

$numeros = 'uno, dos, tres';


$numeros.= ', cuatro, cinco, seis';
echo $numeros;
Concatenacin

Usando el smbolo . concatenamos cadenas

$nombre = 'Jorge';
$apellido = 'Perez';

echo 'Nombre: '.$nombre.' '.$apellido;


Operadores Aritmticos

Los smbolos +, -, /, *, realizan operaciones de


aritmtica bsica, el smbolo % obtiene el resto de
una divisin (mdulo).

Por ejemplo sea $var1 = 10 y $var2 = 5;

Negacin -$var1 -10


Suma $var1 + $var2 15
Resta $var1 - $var2 5
Multiplicacin$var1 * $var2 50
Divisin $var1 / $var2 2
Mdulo $var1 % $var2 0
Operadores Abreviados

Una forma habitual de modificar el contenido de las


variables es mediante los operadores combinados.

+=$variable += 10 $variable = $variable + 10;


-= $variable -= 10 $variable = $variable - 10;
*= $variable *= 10 $variable = $variable * 10;
/= $variable /= 10 $variable = $variable / 10;
%= $variable %= 10 $variable = $variable % 10;
.= $variable.= "concatenar" Concatena las
cadenas $variable y "concatenar"
Operadores de incremento y
decremento
Los smbolos ++ y -- aplicados a una variable,
permiten incrementar o decrementar su valor. Su
efecto es distinto segn se empleen precediendo o
siguiendo el nombre de la variable.

Pre-incremento ++$a Incrementa $a en uno y


despus devuelve a.
Post-incremento $a++ Devuelve $a y despus
incrementa $a en uno.
Pre-decremento --$a Decrece el valor de $a en
uno y despus devuelve $a.
Post-decremento $a-- Devuelve $a y despus
decrece su valor en uno.
Operadores de comparacin

Los operadores de comparacin, como su nombre


indica, permiten comparar dos valores.

Igualdad: $a == $b $a es igual a $b.

Identidad: $a === $b $a es igual a $b y adems son


del mismo tipo.

Desigualdad : $a != $b $a no es igual a $b.

$a !== $b Los operandos no son iguales o del


mismo tipo.
Operadores de comparacin

Los operadores de comparacin, como su nombre


indica, permiten comparar dos valores.

Menor que $a < $b $a es estrictamente menor que


$b.
Menor o igual que $a <= $b $a es menor o igual
que $b.
Mayor que $a > $b $a es estrictamente mayor que
$b.
Mayor o igual que $a >= $b $a es mayor o igual
que $b.
Operadores de comparacin

Los operadores de comparacin, como su nombre


indica, permiten comparar dos valores.

Otro operador condicional es el operador '?:' (o


ternario) (expr1) ? (expr2) : (expr3);

La expresin toma el valor expr2 si expr1 se evala a


cierto, y expr3 si expr1 se evala a falso.
Operadores Lgicos

Los operadores lgicos o booleanos se utilizan


conjuntamente con expresiones que devuelven
valores lgicos. Con ellos es posible combinar
condiciones y evaluarlas en una sola expresin. La
sintaxis de estos operadores es la siguiente:

&& $a && $b Ambos son ciertos

|| $a || $b Si uno o ambos es cierto

xor $a xor $bSolo si uno de los dos es cierto.


! !$a Si $a es Falsa
Sentencias de control

if...else

if (condicin) {
//Se ejecuta si la condicin es VERDADERA
} else {
//Se ejecuta si la condicin es FALSA
}
Sentencias de control

switch...case...default

switch (date('D')) {
case 'Mons': echo 'Hoy es Lunes'; break;
case 'Tue': echo 'Hoy es Martes'; break;
case 'Wed': echo 'Hoy es Miercoles'; break;
case 'Thu': echo 'Hoy es Jueves'; break;
case 'Fri': echo 'Hoy es Viernes'; break;
case 'Sat': echo 'Hoy es Sbado'; break;
case 'Sun': echo 'Hoy es Domingo'; break;
default: echo No corresponde a ningn da';
}
Estructuras de repeticin

for

for ($num = 1; $num <= 5; $num++){


echo $num.'<br>';
if ($num == 3){
echo 'Aqu nos salimos \n';
break;
}
}
Estructuras de repeticin

foreach

El bucle foreach nos permite iterar en cada


elemento de un vector.
$temperatura = array(23, 25,27, 23, 27,26, 26, 28,27,
22, 26, 21, 23, 24, 21, 18, 18, 19, 26, 28, 27, 27, 26, 18,
23, 26, 24, 27);

foreach( $ temperatura as $key =>$puntos) {


echo $puntos;
}
Estructuras de repeticin

while

while ( $i <= $n ) {
$factorial *= $i++;
}
Estructuras de repeticin

do..while

do {
$factorial *= $i++;
} while ($i <= $n);
Ejercicio

Realice una pagina que calcula y muestra una


tabla de multiplicar, utilizando los elementos de
HTML para el manejo de tablas y las diferentes
estructuras de PHP.
Incruste esta pagina en una seccin de la plantilla
para mostrarla usando un mejor formato.
Bibliotecas de funciones

Existen muchas bibliotecas de funciones en PHP


Algunos ejemplos:
Funciones de manipulacin de cadenas
Funciones de fecha y hora
Funciones de arrays
Funciones de ficheros
Funciones matemticas
Funciones de bases de datos
Funciones de red
Ejercicio

Muestre la funcin de las bibliotecas de funciones.


Bibliotecas de funciones

Funciones de manipulacin de cadenas


explode(): Divide una cadena en subcadenas
array explode (string separator, string string [, int
limit])

rtrim(), ltrim(), trim(): Eliminan caracteres a la


derecha, a la izquierda o por ambos lados de
una cadena
string rtrim ( string str [, string charlist])

strstr(): Busca la primera ocurrencia de una


subcadena
Bibliotecas de funciones

Funciones de manipulacin de cadenas


strtolower() / strtoupper(): Convierte una cadena
a minscula / mayscula

strcmp() / strcasecmp(): Compara dos cadenas


con/sin distincin de maysculas

strlen(): Calcula la longitud de una cadena

ucwords(Cadena): Pone iniciales en mayuscula


Bibliotecas de funciones

Funciones de fecha y hora


date(): Formatea una fecha segn un formato
dado. Ejemplo:
$fecha = date ("j/n/Y H:i");
Resultado: 26/9/2005 17:36

strtotime(): Convierte una fecha en un


timestamp de UNIX. Ejemplo:
$fecha = date ("j/n/Y", strtotime(5 april
2001"));
Resultado: 5/4/2001
Bibliotecas de funciones

Funciones de arrays
array_count_values(): Calcula la frecuencia de
cada uno de los elementos de un array

array_search(): Busca un elemento en un array

count(): Cuenta los elementos de un array

sort(), rsort(): Ordena y reindexa un array


(r=decreciente)

ksort(), krsort(): Ordena por claves un array


(r=decreciente)

También podría gustarte