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 Abre Cierra
Etiquetas estndar <?php ?>
Etiquetas cortas <? ?>
Etiquetas cortas <?= ?>
Tipo Script <script language=php> </script>
Tipo ASP <% %>
En PHP las sentencias deben terminar con punto y coma (;)
2. Introduccin al lenguaje
Tipos de datos, variables y constantes
Tipos de datos
boolean Un valor que puede ser verdadero (true) o falso (false)
int Un valor numrico entero con signo
float Un valor numrico de punto flotante con signo
string Una coleccin binaria de datos que puede ser un texto
Tipos especiales
Representa a la ausencia de valor para una
null
variable
Recursos no representados de forma nativa por
resoruce PHP, por ejemplo conexiones a bases de datos y
manejadores de archivo.
2. Introduccin al lenguaje
Tipos de datos, variables y constantes
Tipos compuestos
Matriz o vector que puede contener diversos valores a
array
la vez.
object Estructura con atributos y mtodos.
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 Nombre Resultado
- -$x Negacin El opuesto de $x
+ $x + $y Adicin Suma de $x y $y
- $x - $y Substraccin Diferencia entre $x y $y
* $x * $y Multiplicacin Producto de $x por $y
/ $x / $y Divisin Cociente de $x y $y
% $a % $y Mdulo o Residuo del cociente de $x y $y
residuo
2. Introduccin al lenguaje
Expresiones y operadores
Operadores de asignacin
Operador Ejemplo Resultado
= $a = $b Asigna a $a el valor que guarda $b
+= $a += $b Equivale a $a = $a + $b
-= $a -= $b Equivale a $a = $a - $b
*= $a *= $b Equivale a $a = $a * $b
/= $a /= $b Equivale a $a = $a / $b
%= $a %= $b Equivale a $a = $a % $b
.= $a .= $b Equivale a $a = $a . $b
&= $a &= $b Equivale a $a = $a & $b
|= $a |= $b Equivale a $a = $a | $b
^= $a ^= $b Equivale a $a = $a ^ $b
<<= $a <<= $b Equivale a $a = $a << $b
>>= $a >>= $b Equivale a $a = $a >> $b
2. Introduccin al lenguaje
Expresiones y operadores
Operadores de lgicos
Operador Ejemplo Nombre
and && $a and $b $a && $b Y
or || $a or $b $a || $b O
! ! $a NO
xor $a xor $b OR EXCLUSIVO
2. Introduccin al lenguaje
Expresiones y operadores
Operadores de comparacin
Operador Ejemplo Nombre
> $a > $b Mayor que
< $a < $b Menor que
>= $a >= $b Mayor o igual que
<= $a <= $b Menor o igual que
<> != $a<>$b $a != $b Diferente de
== $a==$b Igual a
=== $a===$b Idntico a
2. Introduccin al lenguaje
Expresiones y operadores
Operadores de a nivel bit
Operador Ejemplo Nombre
& $a & $b AND Los bits activos tanto en $a y
$b permanecen activos.
| $a | $b OR Los bits activos, en $a o $b,
permanecen activos.
~ ~ $a No Los bits que estn activos en $a
son desactivados y viceversa.
^ $a ^ $b XOR Los bits activos en $a o en $b,
pero no en ambos, quedan
activos.
<< $a << $b Corrimiento a la Desplaza los bits de $a, $b
izquierda pasos a la izquierda (cada paso
quiere decir multiplica por
dos)
>> $a >> $b Corrimiento a la Desplaza los bits de $a, $b
derecha pasos a la derecha (cada paso
quiere decir divide por 2)
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 Nombre Efecto
++$a Pre-incremento Incrementa $a en 1 y luego lo
devuelve
$a++ Post-incremento Devuelve $a y luego lo incrementa en
1
--$a Pre-decremento Decremento $a en 1, luego devuelve
$a
$a-- Post-decremento 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 ucfirst, lcfirst
htmlentities ucwords
trim sprintf
str_replace y str_ireplace number_format
strlen Implode y explode
strpos y stripos chr y ord
substr
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 range
array_reverse array_unique
array_search array_sum y array_product
in_array array_rand
count array_product
array_walk array_intersect y array_diff
shuffle array_key_exists
3. Herramientas elementales.
Inclusin de archivos
include e include_once
require y require_once
include(ruta_de_archivo);
include([Link]);
3. Herramientas elementales.
PHP y el sistema de archivos
Abrir archivos.
$resource = fopen(ruta_archivo, modo);
$archivo = fopen([Link], 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 Abrir slo para lectura.
r+ Abrir para lectura y escritura.
w Abrir slo para escritura y truncar el archivo en longitud cero. Si el archivo
no existe, intente crearlo.
w+ Abrir para lectura y escritura y truncar el archivo a longitud cero. Si el
archivo no existe, intenta crearlo.
a Abrir slo para anexar. Si el archivo no existe intenta crearlo.
a+ Abrir para lectura y escritura, comenzando al final del archivo. Si el
archivo no existe intenta crearlo.
x Crear y abrir slo para escritura. Si el archivo ya existe, fopen devolver
falso.
x+ 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 Descripcin Devuelve
Lee una cadena de texto de un Cadena de
fgets
archivo. caracteres.
fgetc Lee un carcter de un archivo. Smbolo.
Lee el contenido completo de Cadena de
file_get_contents un archivo. caracteres.
Abre un archivo y deposita su Un vector
file contenido completo en un
vector
Lee un determinado nmero Bytes ledos
fread
de bytes
3. Herramientas elementales.
PHP y el sistema de archivos
Lectura de archivos
Instruccin Descripcin Devuelve
Lee una cadena de texto de un Cadena de
fgets
archivo. caracteres.
fgetc Lee un carcter de un archivo. Smbolo.
Lee el contenido completo de Cadena de
file_get_contents un archivo. caracteres.
Abre un archivo y deposita su Un vector
file contenido completo en un
vector
Lee un determinado nmero Bytes ledos
fread
de bytes
3. Herramientas elementales.
PHP y el sistema de archivos
Lectura de archivos Ejemplo 1
<?php
$manejador = fopen("[Link]", "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("[Link]", "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 Descripcin
fwrite Escribe datos a un archivo. Recibe
como parmetro un manejador de
fputs archivo.
Escribe una cadena a un archivo.
file_put_contents Escribe una cadena a un archivo.
3. Herramientas elementales.
PHP y el sistema de archivos
Escribir a un archivo Ejemplo 1
<?php
$manejador = fopen("[Link]", "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("[Link]", $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("[Link]", $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)