You are on page 1of 6

AGENDA

PHP - Hypertext Preprocessor Instalacin de PHP Interaccin con HTML Tipos de variables Modelo Orientado a Objetos Conexin a Base de Datos

NUEVAS TCNICAS DE PROGRAMACIN


PHP

PHP - Hypertext Preprocessor


Lenguaje "Open Source" interpretado de alto nivel, especialmente pensado para desarrollos web y el cual puede ser incrustado en pginas HTML. La mayora de su sintaxis es similar a C, Java y Perl y es fcil de aprender. La meta de este lenguaje es permitir escribir a los creadores de pginas web, pginas dinmicas de una manera rpida y fcil
Es un lenguaje Embebido en HTML, pues las pginas escritas en PHP son simples pginas en HTML que contienen, adems de las etiquetas normales, el programa que queremos ejecutar

PHP - Hypertext Preprocessor

Cuando un cliente solicite esta pgina, el servidor pre procesa los datos y ejecuta las instrucciones de PHP, enviando al cliente una pgina slo con etiquetas de HTML.

Todo programa escrito en PHP debe empezar por las etiquetas: <?php ?>

http://www.php.net/manual/es/

Ing. Franklin Carrasco

http://www.php.net/manual/es/

Ing. Franklin Carrasco

Ing. Franklin Carrasco

Instalacin de PHP
http://www.appservnetwork.com/

Interaccin con HTML

Para trabajar con etiquetas HTML, es necesario emplear el comando echo http://www.wampserver.com/en/

http://www.apachefriends.org/es/xampp.html

/* Para varias lneas de cdigo */ // Para una sola lnea de cdigo

http://www.php.net/manual/es/

Ing. Franklin Carrasco

http://www.php.net/manual/es/

Ing. Franklin Carrasco

Tipos de Variables
PHP soporta los siguientes tipos: Array Objeto

Tipos de Variables

Cadena Nmeros en enteros y punto flotante Tipos especiales, como boolan y Null

http://www.php.net/manual/es/

Ing. Franklin Carrasco

http://www.php.net/manual/es/

Ing. Franklin Carrasco

Ing. Franklin Carrasco

Tipos de Variables
Variables de Apache
Especificacin CGI usada el servidor Nombre del equipo servidor en el que se est ejecutando el script Identifica al servidor y sus servicios activos Nombre y revisin del protocolo a travs del que se solicit la pgina Qu mtodo de peticin se us para acceder a la pgina Directorio raz del documento bajo el que se ejecuta el script

Taller 1 - PHP
El usuario puede ingresar el servicio a partir de su usuario y contrasea (index.php) (0.5) Validado el ingreso, el usuario accede a la pgina (solicitud.php) (0.5) En la pgina solicitud.php el usuario debe ingresar (2.5): Nombres completos Nmero de cdula o pasaporte Fecha de creacin de solicitud Fecha de creacin de solicitud Detalle de la Justificacin Botn Crear solicitud

5 PUNTOS

La Universidad necesita que desarrolle un Servicio Web denominado Generador de Solicitudes para Justificacin de faltas , donde:

Variables externas de PHP


GET / POST
Permiten pasar variables de una pgina a otra

Al dar clic sobre el botn Crear solicitud, se acceder a la pgina imprimir.php, donde se desplegar el certificado con la informacin ingresada. (1) Originalidad del Trabajo (0.5)

EL TRABAJO ES INDIVIDUAL!! MEDIANTE COMENTARIOS, EXPLICAR LO QUE REALIZA EL CDIGO


http://www.php.net/manual/es/ http://php.net/manual/en/reserved.variables.server.php http://www.php.net/manual/es/ Ing. Franklin Carrasco Ing. Franklin Carrasco

Modelo Orientado a Objetos


CONSTRUCTORES Y DESTRUCTORES
__construct()
PHP 5 permite declarar mtodos constructores para las clases. Aquellas que tengan un mtodo constructor lo invocarn en cada nuevo objeto creado, lo que lo hace idneo para cualquier inicializacin que el objeto pueda necesitar antes de ser usado.

Modelo Orientado a Objetos


VISIBILIDAD
La visibilidad de una propiedad o mtodo se puede definir anteponiendo una de las palabras claves public, protected o private en la declaracin. Miembros de clases declarados como public pueden ser accedidos de cualquier lado. Miembros declarados como protected, slo de la clase misma, por herencia y clases parent. Aquellos definidos como private, nicamente de la clase que los defini

En propiedades: __destruct()
El mtodo destructor ser llamado tan pronto como no hayan otras referencias a un objeto determinado, o en cualquier otra circunstancia de finalizacin.

En mtodos:
Aquellos declarados sin ninguna palabra clave de visibilidad explcita sern definidos como public

166
http://www.php.net/manual/es/language.oop5.decon.php Ing. Franklin Carrasco http://www.php.net/manual/es/language.oop5.visibility.php Ing. Franklin Carrasco

Ing. Franklin Carrasco

Conexin a Base de Datos


Crear Base de Datos, Tablas y su Usuario Administrador
1. Crear una base de datos en MySql denominada siseven haciendo referencia al nivel y la escuela. 2. Crear la tabla tbl_sisusers empleada para la autenticacin de usuarios, sus campos sern: pcode int unick varchar upass varchar firstname varchar lastname varchar email varchar state char (a= activo, e= eliminado, s=suspendido) 3. Crear usuario como nico administrador de la Base de Datos Ingresar a: http://aruljohn.com/hash.php y empleamndo MD5 cifrar la contrasea que tendr el usuario administrador GRANT ALL PRIVILEGES ON sisseven.* TO 'usuario'@'localhost' IDENTIFIED BY password' WITH GRANT OPTION; GRANT ALL PRIVILEGES ON sisseven.* TO 'usuario'@'%' IDENTIFIED BY ' password ' WITH GRANT OPTION;

Conexin a Base de Datos


Crear archivo para conexin a Base de Datos
1. Crear una carpeta y nmbrela data 2. Crear un archivo de PHP denominado connbasic.php <?php $conexion = mysql_connect("localhost", "usuario", " password ") or die('Acceso denegado a BDD'); $basedatos=mysql_select_db(dasededatos",$conexion ) or die ("Base de Datos Invlida"); mysql_set_charset('utf8'); ?>

Ing. Franklin Carrasco

Ing. Franklin Carrasco

Conexin a Base de Datos


Crear archivo index.php para realizar una conexin normal a la Base de Datos
1. Fuera de la carpeta data, crear el archivo index.php

Conexin a Base de Datos OO


Crear archivo para conexin a Base de Datos
1. En la carpeta data, crear un archivo de PHP denominado connoo.class.php <?php Class connoo{

<?php include_once("data/connbasic.php"); $cmd="SELECT * FROM tabla order by 1"; $res=mysql_query($cmd) or die (mysql_error()); $tot=mysql_num_rows($res); echo "<strong>Total registros: </strong>".$tot."<br><br>"; while($filas=mysql_fetch_array($res)) { echo "<strong>".$filas[unick]."</strong> - ".$filas[email]."<br>"; } ?> ?> private private private private $server='localhost'; $user='usuario'; $pass=password'; $database=dasededatos'; //servidor

private $conn; private $regs; private $fila; static $_instance; //variable para enlace esttico en tiempo de ejecucin un enlace esttico en tiempo de ejecucin para funcionar almacena el nombre de clase de la ltima llamada que no tenga "propagacin. En el caso de las llamadas a mtodos estticos, se trata de la clase a la que se llam explcitamente (normalmente, la que precede al operador ::); en los casos de llamadas a mtodos que no son estticos, se resolvera a la clase del objeto. Una "llamada con propagacin" es una llamada esttica que est precedida por self::, parent::, static::

Ing. Franklin Carrasco

http://www.php.net/manual/es/language.oop5.late-static-bindings.php Ing. Franklin Carrasco

Ing. Franklin Carrasco

Conexin a Base de Datos OO


Crear archivo para conexin a Base de Datos
Implementacin bajo el patrn de diseo Singleton
Con este patrn de diseo, nos aseguramos que slo exista una instancia de una clase y un nico punto de acceso global a sta instancia. La problemtica ocurre cuando varios y distintos clientes precisan referenciar a un mismo elemento y queremos asegurarnos de que no hay ms de una instancia de ese elemento. Para lo cual debemos realizar: <?php /* 1) Hacer privado al constructor para evitar que se puedan crear directamente nuevas instancias (no puede crear objetos mediante el comando new) */ private function __construct(){ } /* 2) Evitar que se pueda clonar la clase, para que no se creen nuevas instancias private function __clone(){ } */

Conexin a Base de Datos OO


PATRN DE DISEO SINGLETON
<?php /* 3) Crear el mtodo pblico getInstance que controla la creacin de instancias */ public static function getInstance(){ if(!(self::$_instance instanceof self)) //verifica si no se ha creado anteriormente una instancia de la clase { self::$_instance=new self(); // si no lo ha hecho, la crea en la variable esttica $_instance } return self::$_instance; } ?> // caso contrario enva la instancia activa

El Operador de Resolucin de mbito :: o en trminos simples, el doble dos-puntos, es un token que permite acceder a elementos estticos, constantes, y sobrescribir propiedades o mtodos de una clase. Cuando se hace referencia a estos tems desde el exterior de la definicin de la clase, se utiliza el nombre de la clase.
http://www.php.net/manual/es/language.oop5.paamayim-nekudotayim.php http://php.net/manual/en/language.oop5.php Ing. Franklin Carrasco

http://php.net/manual/en/language.oop5.php

Ing. Franklin Carrasco

Conexin a Base de Datos OO


PATRN DE DISEO SINGLETON
<?php /* 4) Al crear la instancia, se inicializa el constructor, y con esto se debe generar la lnea de conexin a la base de datos; por lo tanto, creamos el mtodo conectar() y agregamos su llamado en el constructor */ private function conectar(){ $this->conn=mysql_connect($this->server, $this->user, $this->pass) or die('Acceso denegado a BDD'); mysql_select_db($this->database, $this->conn) or die ("Base de Datos Invlida"); @mysql_query("SET NAMES 'utf8'"); }

Conexin a Base de Datos OO


<?php /* 5) Creamos el mtodo que nos permitir ejecutar las sentencias SQL */ public function EjecutarQuery($sql){ $this->regs=mysql_query($sql, $this->conn); return $this->regs; } ?>

private function __construct(){ $this->conectar(); } ?>

http://php.net/manual/en/language.oop5.php

Ing. Franklin Carrasco

http://php.net/manual/en/language.oop5.php

Ing. Franklin Carrasco

Ing. Franklin Carrasco

Conexin a Base de Datos OO


<?php /* 6) Creamos el mtodo que nos permitir obtener todas las filas de los registros de una tabla o la una fila especfica */ public function obtener_fila($regs, $nfila){ $this->fila= mysql_fetch_array($regs); return $this->fila; } } ?>

Conexin a Base de Datos OO


PATRN DE DISEO SINGLETON
En el mismo archivo index.php realizaremos la conexin a la base de datos (comentamos el cdigo anterior) <?php include_once("data/connoo.class.php"); $bd=connoo::getInstance(); $cmd="SELECT * FROM tabla order by 1"; $res =$bd->EjecutarQuery($cmd); while ($filas= $bd->obtener_filas($res)) { echo '<strong>'.$filas['name'].'</strong> - '.$filas['email'].'<br>'; } ?>

http://php.net/manual/en/language.oop5.php http://php.net/manual/es/function.mysql-fetch-array.php

Ing. Franklin Carrasco

http://php.net/manual/en/language.oop5.php

Ing. Franklin Carrasco

Conexin a Base de Datos OO


PRCTICA DE DESTREZAS
Realice un mtodo que de a conocer el nmero total de registros encontrados en una tabla.

PRE PROYECTO
Indique un servicio web o sistema web, a ser desarrollado en la Universidad, mediante PHP

http://php.net/manual/en/language.oop5.php

Ing. Franklin Carrasco

Ing. Franklin Carrasco

You might also like