Upload
ignacio-monllor
View
12
Download
0
Embed Size (px)
DESCRIPTION
PHP Presentación
Citation preview
Maximiliano Neiner
Programación IIIPHP
Clase 4
Programación IIIPHP
Clase 4
Temas a Tratar
Programación del lado del Servidor
Temas a Tratar
Programación del lado del Servidor Funciones propias Incluir/Requerir archivos Clases y objetos HTTP Envío de datos
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 }
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}
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
Temas a Tratar
Programación del lado del Servidor Funciones propias Incluir/Requerir archivos Clases y objetos HTTP Envío de datos
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"; ?>
Temas a Tratar
Programación del lado del Servidor Funciones propias Incluir/Requerir archivos Clases y objetos HTTP Envío de datos
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]){ ... }
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 }
}
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;
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í
}}
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";}
}
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í}
}
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í}
}
Temas a Tratar
Programación del lado del Servidor Funciones propias Incluir/Requerir archivos Clases y objetos HTTP Envío de datos
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
Temas a Tratar
Programación del lado del Servidor Funciones propias Incluir/Requerir archivos Clases y objetos HTTP
GET POST
Envío de datos
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).
Temas a Tratar
Programación del lado del Servidor Funciones propias Incluir/Requerir archivos Clases y objetos HTTP
GET POST
Envío de datos
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.
Temas a Tratar
Programación del lado del Servidor Funciones propias Incluir/Requerir archivos Clases y objetos HTTP Envío de datos
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.
Ejercitación