25
Maximiliano Neiner Programación III PHP Clase 4

Clase04 Prog III 2015

Embed Size (px)

DESCRIPTION

PHP Presentación

Citation preview

Page 1: Clase04 Prog III 2015

Maximiliano Neiner

Programación IIIPHP

Clase 4

Programación IIIPHP

Clase 4

Page 2: Clase04 Prog III 2015

Temas a Tratar

Programación del lado del Servidor

Page 3: Clase04 Prog III 2015

Temas a Tratar

Programación del lado del Servidor Funciones propias Incluir/Requerir archivos Clases y objetos HTTP Envío de datos

Page 4: Clase04 Prog III 2015

Funciones propias en PHP (1/3)

La declaración de una función comienza con la palabra function.El nombre de la función puede empezar con una letra o guión bajo (_), no con números.Los nombres de las funciones NO son case-sensitive.

function NombreFuncion(){ //código }

Page 5: Clase04 Prog III 2015

Funciones propias en PHP (2/3)

Las funciones pueden recibir parámetros.

1

Las funciones pueden retornar valores.

1

Los parámetros pueden tener valores por default.

function NombreFuncion($par_1, $par_2,..., $par_n){ //código}

function NombreFuncion(){ return $valor;}

function NombreFuncion($par_1, $par_2= "valor"){ //código}

Page 6: Clase04 Prog III 2015

Funciones propias en PHP (3/3)

Los parámetros a una función se los puede pasar por valor o por referencia.En PHP, por defecto, las variables se pasan por valor.Para pasar variables por referencia, se debe anteponer un ampersand (&) a la variable.

NombreFuncion($variable);//por valor

NombreFuncion(&$variable);//por referencia

Page 7: Clase04 Prog III 2015

Temas a Tratar

Programación del lado del Servidor Funciones propias Incluir/Requerir archivos Clases y objetos HTTP Envío de datos

Page 8: Clase04 Prog III 2015

Incluir archivos en PHP

La declaración include (o require) copia todo el código existente del archivo especificado dentro del archivo que posee dicha declaración.La declaración include y require son idénticas, excepto en caso de falla. require producirá un error fatal

(E_COMPILE_ERROR) y frenará el script. include sólo producirá una advertencia

(E_WARNING) y el script continuará.<?phpinclude "nombre_archivo";

require "nombre_archivo"; ?>

Page 9: Clase04 Prog III 2015

Temas a Tratar

Programación del lado del Servidor Funciones propias Incluir/Requerir archivos Clases y objetos HTTP Envío de datos

Page 10: Clase04 Prog III 2015

Clases y objetos

La sintaxis básica para declarar una clase en PHP

La sintaxis básicas para declarar miembros de una clase (atributos - métodos)

class NombreClase{

//Atributos. //Métodos.

}

//Atributos. [Modificadores] $nombreAtributo;//Métodos.[Modificadores] function NombreMetodo([parametros]){ ... }

Page 11: Clase04 Prog III 2015

Clasesclass NombreClase{

//Atributos.private $_attr1;protected $_attr2;var $attr3;public static $attr4;

//Constructorpublic __construct() { // código }

//Métodos. private function Func1($param) { //código }protected function Func2() { //código }public function Func3() { //código }public static Func4() { //código }

}

Page 12: Clase04 Prog III 2015

Objetos

La sintaxis básica para declarar un objeto en PHP

El operador -> es utilizado para acceder a los miembros de instacia de las clases

El operador :: es utilizado para acceder a los miembros estáticos de una clase

//Creo el objeto. $nombreObj = new NombreClase();

//Métodos de instancia. //Atributos de instancia.$nombreObj->Func3(); $nombreObj->attr3;

//Métodos de clase. //Atributos estáticosNombreClase::Func4(); NombreClase::$attr4;

Page 13: Clase04 Prog III 2015

Herencia

En PHP se indica herencia a partir de extends.

class ClaseBase {public function __construct(){

//Inicializar variables aquí}

}

class ClaseDerivada extends ClaseBase {public function __construct(){

parent::__construct();//Inicializar variables propias aquí

}}

Page 14: Clase04 Prog III 2015

Polimorfismo

En PHP cualquier método puede ser modificado en sus clases derivadas.

class ClaseBase {public function Saludar(){

return "Hola";}

}

class ClaseDerivada extends ClaseBase {public function Saludar(){

return parent::Saludar()." "."mundo";}

}

Page 15: Clase04 Prog III 2015

Interfaces

Las interfaces en PHP sólo pueden contener declaraciones de métodos.

Y se implementan con implements.

interface IInterfaz{function Metodo();

}

class Clase implements IInterfaz {public function Metodo(){

//Implementación aquí}

}

Page 16: Clase04 Prog III 2015

Clases abstractas

Las clases abstractas pueden contener atributos y métodos, pero sólo pueden contener métodos con el modificador abstract .

abstrac class ClaseAbstracta {public abstract function Metodo();

}

class ClaseDerivada extends ClaseAbstracta {public function Metodo(){

//Implementación aquí}

}

Page 17: Clase04 Prog III 2015

Temas a Tratar

Programación del lado del Servidor Funciones propias Incluir/Requerir archivos Clases y objetos HTTP Envío de datos

Page 18: Clase04 Prog III 2015

HTTP (HTTP: Hypertext Transfer Protocol)

HTTP está diseñado para permitir comunicaciones entre clientes y servidores.

HTTP funciona como un protocolo de pedido-respuesta entre cliente y servidor.

Un navegador web puede ser el cliente y una aplicación sobre un computador que aloja un sito web puede ser el servidor.Cliente

ServidorPetición

Respuesta

Page 19: Clase04 Prog III 2015

Temas a Tratar

Programación del lado del Servidor Funciones propias Incluir/Requerir archivos Clases y objetos HTTP

GET POST

Envío de datos

Page 20: Clase04 Prog III 2015

Método GET

El par de nombres/valores es enviado en la dirección URL (texto claro). Las peticiones GET se pueden almacenar en caché.Permanecen en el historial del navegador.Pueden ser marcadas (book marked).Nunca debe ser utilizado cuando se trata de datos confidenciales.Tiene limitaciones de longitud de datos (longitud máxima de 2048 caracteres en la URL).

Page 21: Clase04 Prog III 2015

Temas a Tratar

Programación del lado del Servidor Funciones propias Incluir/Requerir archivos Clases y objetos HTTP

GET POST

Envío de datos

Page 22: Clase04 Prog III 2015

Método POST

El par de nombres/valores es enviado en el cuerpo del mensaje HTTP.Las peticiones POST no se almacenan en caché.No permanecen en el historial del navegador.No pueden ser marcadas.No poseen restricciones de longitud de datos.

Page 23: Clase04 Prog III 2015

Temas a Tratar

Programación del lado del Servidor Funciones propias Incluir/Requerir archivos Clases y objetos HTTP Envío de datos

Page 24: Clase04 Prog III 2015

Manejo de Formularios

Tanto GET como POST crean un array asociativo.Dicho array contiene pares de clave-valor, dónde las claves son los nombres (atributo name) de los controles del formulario y los valores son la entrada de datos del usuario.PHP utiliza las super globales $_GET y $_POST para recolectar datos provenientes de un Form. Super globales significa que siempre serán accesibles, desde cualquier clase, función o archivo, sin tener que hacer nada especial.$_GET es un array pasado por GET.$_POST es un array pasado por POST.

Page 25: Clase04 Prog III 2015

Ejercitación