Tecnicas avanzadas php
Módulo 3: PHP
Módulo Tercero Conceptos avanzados de PHP
1
Javier Infante Porro
Técnicas Avanzadas Web
Módulo 3: PHP
●
PHP Orientado a Objetos
–
Definiciones:
●
clase: conjunto de propiedades(variables) y métodos (funciones) agrupadas en 1 entidad instanciable. (definición general de un tipo de objeto). objeto: instancia de una clase en tiempode ejecución. herencia: cualidad de una clase mediante la cual una clase hereda (puede usar) propiedades y métodos de la clase padre. constructor: método que se ejecuta al instanciar un objeto. (su nombre coincide con el nombre de una clase).
2
Javier Infante Porro
●
●
●
Técnicas Avanzadas Web
Módulo 3: PHP
●
Ejemplo definición de una clase:
Javier Infante PorroTécnicas Avanzadas Web
Módulo 3: PHP
●
Ejemplo instanciar clase:
4
Javier Infante Porro
Técnicas Avanzadas Web
Módulo 3: PHP
●
Ejemplo Herencia:
class checkbox extends formulario { function checkbox(){ $this>type=”checkbox”; } } $f3 = new checkbox(); $f3>setName(“fumador”); $f3>dibujar(); // ”
5
Javier Infante Porro
Técnicas Avanzadas Web
Módulo 3: PHP
●Funciones PHP para el manejo de Objetos
–
bool class_exists(str); array get_class_methods(str);
if (class_exists(“checkbox”)) echo “Puedo instanciar un objeto checkbox”; – $aMetodos = get_class_methods(“checkbox”); echo “La clase checkbox tiene “.sizeof($aMetodos).” métodos:”; foreach($aMethods as $metodo) echo $metodo.””; –
array get_class_vars(str);$aVars = get_class_vars(“checkbox”); echo “La clase checkbox tiene “.sizeof($aVars).” propiedades:”; foreach($aVarsas $var) echo $var.””;
Javier Infante Porro
6
Técnicas Avanzadas Web
Módulo 3: PHP
–
str get_class(obj);
$f1 = new formulario(); echo get_class($f1); // formulario; –
str get_parent_class(obj|str);
$f2 = new checkbox(); echo get_parent_class($f2); // formularioecho get_parent_class(“checkbox”); // formulario –
bool is_a(obj,str);
$f2 = new formulario(); if (is_a($f2,”checkbox”)) echo “f2 no es un objeto instanciado de checkbox”; else echo “f2 es n objeto instancia de checkbox”;
7
Javier Infante Porro
Técnicas Avanzadas Web
Módulo 3: PHP
●
Tratamiento de imágenes (librería GD)
–
–
PHP no solo se utiliza para generar texto plano (HTML), sino que también puedegenerar datos binarios (imágenes, pdf, swf, etc). La principal diferencia frente al texto plano convencional, es que debemos especificar la cabecera de respuesta HTTP “Content-type”, para sobreescribir el mime-type por defecto (text/html), por el mime-type del archivo que queramos mostrar.
header("Contenttype: image/png"); header("Contenttype: image/jpg");
8
Javier Infante Porro
TécnicasAvanzadas Web
Módulo 3: PHP
–
getimagesize($fichero)
●
Obtiene información de un fichero tipo imagen, y nos la devuelve en un array. Devuelve false si el fichero no se trata de una imagen (muy útil para filtrar subidas de imagenes).
$infoFoto = getimagesize(“imagen.jpg”); echo $infoFoto[0]; // anchura en pixels echo $infoFoto[1]; // altura en pixels echo $infoFoto[2]; // tipo de imagen1 = GIF, 2 = JPG, 3 = PNG, 4 = SWF, 5 = PSD, 6 = BMP, 7 = TIFF(intel), 8 = TIFF(motorola), 9 = JPC, 10 = JP2, 11 = JPX, 12 = JB2, 13 =SWC, 14 = IFF, 15 = WBMP, 16 = XBM echo $infoFoto['mime']; //devuelve el mime type de la imagen
●
9
Javier Infante Porro
Técnicas Avanzadas Web
Módulo 3: PHP
–
imagecreatetruecolor(x,y)
●
Crea una imagen en memoria de anchura “x” yaltura “y”; devuelve el identificador de dicha imagen. Crea una imagen a partir de un fichero png, devolviendo su identificador. Crea una imagen a partir de un fichero jpeg, devolviendo su identificador. Crea una imagen a partir de un fichero gif, devolviendo su identificador.
10
Javier Infante Porro
–
imagecreatefrompng($ruta)
●
–
imagecreatefromjpeg($ruta)
●
–...
Regístrate para leer el documento completo.