Вы находитесь на странице: 1из 42

Lenguaje de programacin PHP

Preparacin del ambiente de desarrollo


Programando PHP desde Dreamweaver.
1. Crear el directorio de trabajo en el servidor Se crea un directorio visible para el servidor Web 2. Configuracin de un sitio en Dreamweaver Se configura Dreamweaver para conectarlo al sitio. 1. Local Info Ubicacin de nuestros archivos locales. 2. Remote Info Directorio remoto, cuenta de usuario. Subir al guardar 3. Testing Server Server model PHP MySQL 3. Ventana Files. Visualizar local y remotamente.

2. Introduccin al lenguaje
Temario de Introduccin al lenguaje
Etiquetas de PHP y sentencias. Tipos de datos, variables y constantes. Expresiones y operaciones. Estructuras de control y bloques. Funciones definidas por el usuario.

2. Introduccin al lenguaje
Etiquetas de PHP y sentencias
Las etiquetas delimitan los programas escritos en PHP. Existen diversas formas de indicarlas:
Nombre Etiquetas estndar Etiquetas cortas Etiquetas cortas Tipo Script Tipo ASP
<?php <? <?= <script language=php> <%

Abre

Cierra
?> ?> ?> </script> %>

En PHP las sentencias deben terminar con punto y coma (;)

2. Introduccin al lenguaje Tipos de datos, variables y constantes


Tipos de datos
Un valor que puede ser verdadero (true) o falso (false) Un valor numrico entero con signo Un valor numrico de punto flotante con signo Una coleccin binaria de datos que puede ser un texto

boolean int float string

Tipos especiales Representa a la ausencia de valor para una variable Recursos no representados de forma nativa por PHP, por ejemplo conexiones a bases de datos y manejadores de archivo.

null

resoruce

2. Introduccin al lenguaje Tipos de datos, variables y constantes


Tipos compuestos
Matriz o vector que puede contener diversos valores a la vez. Estructura con atributos y mtodos.

array object

2. Introduccin al lenguaje Tipos de datos, variables y constantes


El tipo lo determina el valor que guarda. El tipo es dinmico Las variables se nombran de acuerdo a las siguientes reglas: Siempre empieza con el smbolo $ ($precio, $color, $forma) El segundo smbolo puede ser: _, a-z, A-Z El tercer smbolo puede ser cualquier alfanumrico. Omitir los smbolos: %, &, :, ;. -,=,/,*,@ y todos aquellos con un significado especial. Los nombres de variables son sensibles a maysculas/minsculas

2. Introduccin al lenguaje Tipos de datos, variables y constantes


Se declaran con la instruccin define El nombre de la constante va entre comillas. Se recomienda asignar nombres en MAYSCULAS Se recomienda separar dos palabras del nombre con _ Las constantes no emplean el smbolo $

2. Introduccin al lenguaje Expresiones y operadores


Operadores aritmticos
Operador + * / % Ejemplo -$x $x + $y $x - $y $x * $y $x / $y $a % $y Nombre Negacin Adicin Substraccin Multiplicacin Divisin Mdulo o residuo Resultado El opuesto de $x Suma de $x y $y Diferencia entre $x y $y Producto de $x por $y Cociente de $x y $y Residuo del cociente de $x y $y

2. Introduccin al lenguaje Expresiones y operadores


Operadores de asignacin
Operador
= += -= *= /= %= .= &= |= ^= <<= >>=

Ejemplo
$a = $b $a += $b $a -= $b $a *= $b $a /= $b $a %= $b $a .= $b $a &= $b $a |= $b $a ^= $b $a <<= $b $a >>= $b

Resultado Asigna a $a el valor que guarda $b Equivale a $a = $a + $b Equivale a $a = $a - $b Equivale a $a = $a * $b Equivale a $a = $a / $b Equivale a $a = $a % $b Equivale a $a = $a . $b Equivale a $a = $a & $b Equivale a $a = $a | $b Equivale a $a = $a ^ $b Equivale a $a = $a << $b Equivale a $a = $a >> $b

2. Introduccin al lenguaje Expresiones y operadores


Operadores de lgicos Operador
and or ! xor && ||

Ejemplo
$a and $b $a or $b $a && $b $a || $b ! $a $a xor $b

Nombre Y O NO OR EXCLUSIVO

2. Introduccin al lenguaje Expresiones y operadores


Operadores de comparacin
Operador > < >= <= <> == === != Ejemplo $a > $b $a < $b $a >= $b $a <= $b $a<>$b $a != $b $a==$b $a===$b Nombre Mayor que Menor que Mayor o igual que Menor o igual que Diferente de Igual a Idntico a

2. Introduccin al lenguaje Expresiones y operadores


Operadores de a nivel bit
Operador & | ~ ^ Ejemplo $a & $b $a | $b ~ $a $a ^ $b AND OR No XOR Nombre Los bits activos tanto en $a y $b permanecen activos. Los bits activos, en $a o $b, permanecen activos. Los bits que estn activos en $a son desactivados y viceversa. Los bits activos en $a o en $b, pero no en ambos, quedan activos. Desplaza los bits de $a, $b pasos a la izquierda (cada paso quiere decir multiplica por dos) Desplaza los bits de $a, $b pasos a la derecha (cada paso quiere decir divide por 2)

<<

$a << $b

Corrimiento a la izquierda

>>

$a >> $b

Corrimiento a la derecha

2. Introduccin al lenguaje Expresiones y operadores


Operadores de a nivel bit Cmo se calcula un desplazamiento? Un desplazamiento a la izquierda. 4<<3 se calcula como (4 * 23)=32 Un desplazamiento a la derecha 12>>2 se calcula como (12 / 22)=3

2. Introduccin al lenguaje Expresiones y operadores


Operadores de incremento y decremento

Operador ++$a $a++ --$a $a--

Nombre Pre-incremento Post-incremento Pre-decremento Post-decremento

Efecto Incrementa $a en 1 y luego lo devuelve Devuelve $a y luego lo incrementa en 1 Decremento $a en 1, luego devuelve $a Devuelve $a, luego decremento $a en 1

2. Introduccin al lenguaje Estructuras de control selectivas, iterativas y el ternario.


if (condicin) { Instrucciones; }
if( condicin ){ Instrucciones; } else { Instrucciones; } if( condicin1 ){ Instrucciones 1; } else if(condicin2){ Instrucciones2 } else if(condicin3){ Instrucciones3; } else { Instrucciones4; }

2. Introduccin al lenguaje Estructuras de control selectivas, iterativas y el ternario.


if (condicin): Instrucciones endif;

if (condicin): Instrucciones1 else: Instrucciones2; endif;

if (condicin1): Instrucciones1; elseif(condicin2): Instrucciones2; endif;

2. Introduccin al lenguaje Estructuras de control selectivas, iterativas y el ternario.


switch(valor){ case expresin1: Instruccines1; break; case expresin2: Instruccines2; break; case expresin3: Instruccines3; break; default: Instruccines4;

2. Introduccin al lenguaje Estructuras de control selectivas, iterativas y el ternario.


switch(valor): case expresin1: Instruccines1; break; case expresin2: Instruccines2; break; case expresin3: Instruccines3; break; default: Instruccines4; endswitch:

2. Introduccin al lenguaje Estructuras de control selectivas, iterativas y el ternario.

variable = (condicin) ? valor1 : valor2; $x = (11 > 10) ? 4 : 3;

2. Introduccin al lenguaje Estructuras de control selectivas, iterativas y el ternario.


for(expresin1; expresin2; expresin3){ Instrucciones; } foreach(coleccin as elemento){ Instrucciones; } for(expresin1; expresin2; expresin3): Instrucciones; endfor:

2. Introduccin al lenguaje Estructuras de control selectivas, iterativas y el ternario.


while(condicin){ Instrucciones; } do{ Instrucciones; }while(condicin);

2. Introduccin al lenguaje Funciones definidas por el usuario


Para crearlas se usa la palabra reservada function. Deben tener un identificador (nombre) alusivo al problema que resuelve. Puede recibir una lista de parmetros indicada entre parntesis. Puede devolver un valor por medio de la instruccin return.
<?php //declaracin de la funcin function saludo() { echo Hola, Mundo; } //invocacin a la funcin. saludo(); ?>

2. Introduccin al lenguaje Funciones definidas por el usuario


Por lo regular devuelven por valor y no por referencia. Se puede forzar a que devuelvan por referencia con &. La regla es que siempre deben devolver una variable, nunca un valor, expresin o return vacio.
<?php /* declaracin de la funcin. Para forzar la devolucin de una referencia se utiliza el smbolo & en la primera posicin del nombre de la funcin */ function &query($sql){ $resultado = mysql_query($sql); return $resultado; //aqu devuelve una variable } //invocacin de la funcin $rs = query(); ?>

2. Introduccin al lenguaje

Ejercicio

Errores.

3. Herramientas elementales. Temario de Herramientas elementales


Funciones para el manejo de cadenas. Vectores declaracin, uso y funciones. Inclusin de archivos. PHP y el sistema de archivos.

3. Herramientas elementales. Funciones para el manejo de cadenas addslashes htmlentities trim str_replace y str_ireplace strlen strpos y stripos substr ucfirst, lcfirst ucwords sprintf number_format Implode y explode chr y ord

3. Herramientas elementales. Vectores, declaracin y uso.

<?php $arreglo1 = array(); $arreglo2 = array(1,2,3,4,5,6,8,9); $arreglo3 = array(llave1=>valor1, llave2=>valor2); ?> <?php echo $arreglo[0] + $arreglo[2] + $arreglo[6]; echo $arreglo3[llave2]; ?>

3. Herramientas elementales. Funciones para el manejo de vectores array_push, array_pop y array_shift array_reverse array_search in_array count array_walk shuffle range array_unique array_sum y array_product array_rand array_product array_intersect y array_diff array_key_exists

3. Herramientas elementales. Inclusin de archivos

include require

e y

include_once require_once

include(ruta_de_archivo); include(pie.php);

3. Herramientas elementales. PHP y el sistema de archivos

Abrir archivos. $resource = fopen(ruta_archivo, modo); $archivo = fopen(datos.txt, r);


Cuando no puede abrir el archivo devolver false

3. Herramientas elementales. PHP y el sistema de archivos

Cerrar archivos. boolean fclose($resource); fclose($archivo);


Cuando no puede cerrar el archivo devolver false

3. Herramientas elementales. PHP y el sistema de archivos

Modos de apertura
r r+ w w+ a a+ x x+ Abrir slo para lectura. Abrir para lectura y escritura. Abrir slo para escritura y truncar el archivo en longitud cero. Si el archivo no existe, intente crearlo. Abrir para lectura y escritura y truncar el archivo a longitud cero. Si el archivo no existe, intenta crearlo. Abrir slo para anexar. Si el archivo no existe intenta crearlo. Abrir para lectura y escritura, comenzando al final del archivo. Si el archivo no existe intenta crearlo. Crear y abrir slo para escritura. Si el archivo ya existe, fopen devolver falso. Crear y abrir para lectura y escritura. Si el archivo ya existe, fopen devolver falso.

3. Herramientas elementales. PHP y el sistema de archivos

Lectura de archivos
Instruccin fgets fgetc file_get_contents Descripcin Devuelve

Lee una cadena de texto de un Cadena de archivo. caracteres. Lee un carcter de un archivo. Lee el contenido completo de un archivo. Abre un archivo y deposita su contenido completo en un vector Lee un determinado nmero de bytes Smbolo. Cadena de caracteres. Un vector

file fread

Bytes ledos

3. Herramientas elementales. PHP y el sistema de archivos

Lectura de archivos
Instruccin fgets fgetc file_get_contents Descripcin Devuelve

Lee una cadena de texto de un Cadena de archivo. caracteres. Lee un carcter de un archivo. Lee el contenido completo de un archivo. Abre un archivo y deposita su contenido completo en un vector Lee un determinado nmero de bytes Smbolo. Cadena de caracteres. Un vector

file fread

Bytes ledos

3. Herramientas elementales. PHP y el sistema de archivos

Lectura de archivos Ejemplo 1


<?php $manejador = fopen("datos.txt", "r") or die(); while( ! feof($manejador) ){ $linea = fgets($manejador); echo $linea; } fclose($manejador); ?>

3. Herramientas elementales. PHP y el sistema de archivos

Lectura de archivos Ejemplo 2


<?php $manejador = fopen("datos.txt", "r") or die(); while( $simbolo = fgetc($manejador) ){ echo $simbolo; } fclose($manejador); ?>

3. Herramientas elementales. PHP y el sistema de archivos

Escribir a un archivo.

Funcin fwrite fputs file_put_contents

Descripcin Escribe datos a un archivo. Recibe como parmetro un manejador de archivo. Escribe una cadena a un archivo. Escribe una cadena a un archivo.

3. Herramientas elementales. PHP y el sistema de archivos

Escribir a un archivo Ejemplo 1 <?php $manejador = fopen("datos.txt", "a"); fwrite($manejador, "\nEsto es una prueba"); fclose($manejador); ?>

3. Herramientas elementales. PHP y el sistema de archivos

Escribir a un archivo Ejemplo 2 <?php $cadena = "Esto es otra prueba de escritura\n"; file_put_contents("datos.txt", $cadena); ?> En este ejemplo el contenido del archivo es reemplazado

3. Herramientas elementales. PHP y el sistema de archivos

Escribir a un archivo Ejemplo 2


<?php $cadena = "Esto es otra prueba de escritura\n"; file_put_contents("datos.txt", $cadena, FILE_APPEND); ?>

En este ejemplo el contenido no es reemplzado gracias a FILE_APPEND.

4. Diseo de aplicaciones Web Temario de Diseo de aplicaciones Web


Formularios HTML Mtodos de envo GET y POST Funciones para asegurar la entrada del usuario (htmlentities, addslashes)