PEAR: Modulos y Extensiones de PHP



Documentos relacionados
PEAR: The PHP Extension and Application Repository.

HTML_QuickForm para el procesamiento de Formularios en PHP. Farid Alfredo Bielma Lopez.

PÁGINAS DINÁMICAS WEB CON PHP. Unidad 4 Aplicaciones Web

Manual Básico de Helm 4.2 para Usuarios:

C a p í t u l o. Instalación. Contenido

UNIVERSIDAD DE OVIEDO

Proceso de cifrado. La fortaleza de los algoritmos es que son públicos, es decir, se conocen todas las transformaciones que se aplican al documento

Conexión SFTP-SSH2 en PHP a través de un fichero.ppk

Descripción. Este Software cumple los siguientes hitos:

Guía Rápida de uso de ZBox Backup Configuración y uso del servicio de respaldo en la nube.

MANUAL DE INSTALACIÓN. Versión para Windows

Cosas que saber antes de empezar. Antes de empezar la instalación, hay varias cosas que necesitarás tener y hacer.

IDENTIFICACIÓN DE LA ACTIVIDAD PEDAGÓGICA

CAPÍTULO 3 VISUAL BASIC

Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable

Anexo I. Instalación del Sistema de Gestión integral de promociones de los centros comerciales de una ciudad

Programa de Ayuda EMCS Instalación Versión SQL Server Versión Marzo 2010

MANUAL DE USUARIO. Webservice simple para la exportación rápida de información proveniente de una base de datos. Versión 0,1,1

Servidor FTP en Ubuntu Juan Antonio Fañas

Elementos requeridos para crearlos (ejemplo: el compilador)

Por. Bernardo C. Hermitaño Atencio

EUROPIO ENGINE LAB: FORMULARIOS WEB Y TABLAS HTML EN SOLO

INSTALACIÓN DE GITLAB

CIMA. MANUAL DE USUARIO

Guía rápida de instalación / actualización (versión ) Roadnet Transportation Suite Versiones 3.40 / 3.50

UNIDESYS UNIVERSAL BUSINESS SYSTEMS INSTALACIÓN NUEVO PUESTO DE TRABAJO

MySQL: Guía de Referencia

CapÍtulo 3: Manejo de Forms.

CURSO DE PROGRAMACIÓN PHP MySQL

CÓMO MANEJAR SU NUEVO SITIO WEB SOBRE DRUPAL Manual técnico y de usuario. Pontificia Universidad Javeriana Grupo PSU CDI

Guía de Instalación Proscai

Manual de Instalación Elaborado: IdeaSys, 30 de Junio de 2015 Departamento de documentación

Práctica 02. Formularios

MANUAL DE INSTALACIÓN GLPI EN CANAIMA

Qué es PHP? Example #1 Un ejemplo introductorio "<?,?>".

Manual de Instalación

1. Instalación de productos

DOCENTES FORMADORES UGEL 03 PRIMARIA

JOOMLA MANUAL USUARIO Creación del portal

LABORATORIO 2. SQL SERVER- ESTRUCTURAS BASE DE DATOS DE LA ALCALDIA

Entorno de desarrollo Instalación y configuración

Servidor. Comenzaremos por confirmar que el servicio NFS esta instalado y ejecutandose desde la terminal, escribiremos lo siguiente: #rpm -q nfs-utils

Instalación de InnovaPortal 4G para Windows

ALTAS MANUAL DE USUARIO PARA EL PROTOTIPADO DE APLICACIONES

Guia rápida EPlus Cliente-Servidor

Instructivo para descarga del código fuente

75.99 TRABAJO PROFESIONAL INGENIERIA EN INFORMATICA

GUÍA PARA LA INSTALACIÓN DE MOODLE EN UN COMPUTADOR PERSONAL QUE USA EL SISTEMA OPERATIVO MS. WINDOWS

ZEUZ Sistemas Soluciones Informáticas Integradas

Manual de NetBeans y XAMPP

La página web del centro con SPIP

Instituto Tecnológico de Las América. Materia Sistemas operativos III. Temas. Facilitador José Doñe. Sustentante Robín Bienvenido Disla Ramirez

PROCESO DE ACTUALIZACION SISTEMA HGINET. Fecha Versión RTM

Hardata Hdx Server 3 Networks Automation. Manual de usuario Versión

Desarrollo Web en Entorno Servidor

INTRANET/INTERNET: CONTROL Y ADMINISTRACION PARA SERVICIOS EDUCATIVOS por David Antonio Andrade Laborde

Actualizaciones de GateDefender Performa desde un servidor web local

Instalación y Configuración. Libertya BI 1.0

UNIVERSIDAD TECNOLOGICA CENTROAMERICANA

DIPLOMADO EN SEGURIDAD INFORMATICA

Objetivo: Introducción conceptual y aplicación básica de los lenguajes del lado del servidor.

Gestión de Extensiones en Joomla!

COB Versión 1.20 Manual del usuario

Manejo de datos BLOB con PHP y MySQL

El Programa estadístico R

ESET Endpoint Solutions. Comenzando a evaluar la versión de prueba de ESET Endpoint Security 21/05/2012 version 1.1

Instituto Tecnológico de Las Américas (ITLA)

Sistema de Mensajería Empresarial para generación Masiva de DTE

JOOMLA MANUAL USUARIO Creación del portal

REQUISITOS DEL SISTEMA. Software Servidor. Cliente. Hardware Servidor. Cliente

SBConta.NET Manual de instalación. SBSS Consulting, S.A Barcelona Telf , fax web

MANUAL DE INSTALACIÓN DE HERRAMIENTAS DE DESARROLLO. Sistema de Control de Producción SICPROD V1.0

Trabajo de Fin de Grado Héctor Olivares Rivero Proyecto omrocket Manual de Instalación

Tutorial: Primeros Pasos con Subversion

INSTALACIÓN DE UBUNTU SERVER 12.4 EN MÁQUINA VIRTUAL

Introducción a PostgreSQL con PHP

Crear un servidor Web en IIS

[Manual de Uso e Instalación]

Manual hosting acens

Introducción a JDBC - Base de datos con Java

NOTA:Necesario verificar el nombre de nuestro Servidor-Equipo en donde está nuestro sistema gestor de base de datos.

MANUAL DE CONEXIÓN VIA FTP AL SERVIDOR DE LA COMUNIDAD UNIVERSITARIA. Fecha: 10/06/2011 Versión: 1.0.0

Gobierno Electrónico ANEXOS ANEXO A: INSTALACIÓN, CONFIGURACIÓN Y ACTUALIZACIÓN DE JOOMLA, MÓDULOS Y COMPONENTES. Alexandra Paola Guerrero Chuquín

Manual de usuario de IBAI BackupRemoto

Sistemas Manejadores de Bases de Datos ( Postgres)

Desarrollo de sitios web con PHP y MySQL

Curso PHP Módulo 1 R-Luis

Capitulo 5. Implementación del sistema MDM

MANUAL DE USUARIO PANEL DE CONTROL Sistema para Administración del Portal Web.

Manual de Instalación y de Configuración de OpenbravoPOS y DroidPOS para Windows 7/XP v1 rev.feb2014

INTRODUCCION. Tema: Protocolo de la Capa de aplicación. FTP HTTP. Autor: Julio Cesar Morejon Rios

Eurowin 8.0 SQL. Manual de la FIRMA DIGITALIZADA

Acceso a bases de datos en Perl

Transcripción:

PEAR: Modulos y Extensiones de PHP CONSOL 2006. CONGRESO NACIONAL DE SOFTWARE LIBRE INSTITUTO POLITECNICO NACIONAL. Agosto 17, 2006. Ciudad de Mexico Farid Alfredo Bielma Lopez. fbielma@fbielma.org http://fbielma.org/conferencia/consol/pear_php.pdf

Agenda Que es PEAR? Paquetes PEAR El instalador de PEAR HTML_QuckForm PEAR::DB Futuro de PEAR Conclusiones

The PEAR project El PEAR es un proyecto Open Source creado por el PHP Group con el objetivo de crear una gran biblioteca de clases de calidad escritas en PHP. Todas ellas accesibles desde un repositorio web común y fácilmente instalables por medio de un sistema de gestión de paquetes.

Que es PEAR? Es una librería estructurada de Codigo Abierto para desarrolladores de PHP. Un sistema de distribucion de codigo (tgz) y mantenimiento de paquetes. El instalador PEAR. El sitio web, la lista de correo, y sitios de descargas para servir de soporte a la comunidad PHP/PEAR.

Funcionalidades agregadas por PEAR Un Sistema General de Reporte de Errores (PEAR_Error) Encriptacion. Abstraccion de Base de Datos. Formularios HTML y templates. Funciones de E-mail (sending, processing) Networking XML-Parser + XML-RPC

Paquetes PEAR Algunos de los paquetes PEAR mas usados son: PEAR::DB ADODB HTML_QuickForm Smarty XML_RPC MAIL/MIME X-debug

El instalador PEAR Para las versiones de PHP inferiores a la 4.3.0 sera necesario obtener el instalador, en Linux/UNIX/BSD ejecuta: # lynx source http://go-pear.org php Este script instala todos los componentes necesarios. En windows ejecuta el batch go-pear.bat, el setup te hara una preguntas, finalmente quedara instalado en el path que hayas especificado.

Instalador un paquete manualmente No es recomendable, pero es util cuando no se tiene acceso a una shell. A manera de demostracion en nuestro document root crear un directorio llamado incluir al mismo nivel que el htdocs, en donde podemos ingresar via HTTP o FTP. La instalacion consiste en los siguientes pasos: 5. Descargar el paquete: Apuntando a la url http://pear.php.net y utilizar el package browser para ver los paquetes disponibles.

Instalador un paquete manualmente 2. Subir el paquete al servidor. Despues de descargar el archivo.tgz y de extraer su contenido en un directorio temporal, cargar el archivo por el metodo usado y copiarlo en el directorio /htdocs/incluir. 3. Ajustar la directiva include_path. Si tienes acceso al php.ini en tu sitio agregar el directorio incluir dentro de la directiva indicada, quedaria asi: /var/www/fbielma.org/incluir

Si no tienes acceso a php.ini Si no tienes acceso al php.ini, tienes que agregar el include_path en cualquier script donde quieras usar el paquete: <?php ini_set("include_path", '/var/www/www.example.com/includes/'. PATH_SEPARATOR. ini_get("include_path"));?> 4. Despues de realizar la instalacion, ya puedes usar el paquete.

Caracteristicas del Instalador Descarga e instala paquetes PEAR. Crea paquetes que puedan ser subidos al sitio web de PEAR. Automaticamente revisa las dependencias de los paquetes, versiones de PHP y extensiones de PHP. Puede crear e instalar paquetes de terceros.

Funcionamiento del Instalador Usa XML-RPC para comunicarse con el sitio oficial de PEAR. Descarga el archivo.tgz de un paquete. El archivo package.xml describe el contenido del paquete, asi como sus dependencias. Extrae todos los archivos necesarios al directorio de instalacion local.

Comandos del Instalador # pear list # pear install Mail_mime # pear upgrade # pear unistall # pear help unistall

Uso de paquetes Las clases pueden ser incluídas usando: <?php require_once 'HTTP/Request.php';?> Muchos paquetes usan una arquitectura basada en conectores: <?php require_once 'DB.php'; $dbh = DB::connect 'psql://user:pass@host');?>

Manejo de Errores Los errores son instancias de PEAR_Error que contiene: Mensaje de error y código opcional Función backtrace para ayudar con la depuración El manejo de errores puede ser establecido globalmente o para instancias particulares: Impresión del mensaje Función die al ocurrir un error Manejo del error usando una llamada a función Será reemplazado con PEAR_ErrorStack y/o excepciones en PHP5

Ejemplo del manejo de Errores Require DB.php ; $db= DB::connect( pgsql://farid:mi_password@host/example ); $sth= $db->query( select datos from escuela ); If(DB::isError($sth)){ echo error! ; } Else{ //display results }

Autentificación Require Auth/Auth.php ; $a= new Auth( File, /etc/passwd ); $a->start(); If(! $a->getauth()){ //the user is not logged exit(); }

Como crear nuevos paquetes Edita el archivo package.xml, este archivo contiene información sobre el paquete, estado, dependencias, changelog, y archivos incluidos: PEAR_PackageFileManager te ayudará Abre la terminal y mueve el paquete a una carpeta Corre el comando pear package Prueba el paquete resultante Súbelo a pear.php.net

HTML_QuickForm HTML_QuickForm es una clase PEAR. El Repositorio PEAR es una colección para agregar librerias y modulos para PHP. HTML_QuickForm hace el trabajo con formularios de manera mas facil, como reservar valores enviados, muestra mensajes de error, agrega una vista consistente para los elementos del Formulario y simplifica las capacidades de File Uploads.

Instalacion Las instrucciones generales de instalación puede encontrarla en el Sitio Oficial: http://pear.php.net/package/html_quickform En Unix la instalación se realiza: # pear install a HTML_QuickForm.version.tgz

Ejemplo HTML_QuckForm <? Require HTML/QuickForm.php ; //Se crea el contenedor llamado $form $form=new HTML_QuickForm( nombre ); //Se agregan elementos al formulario: $form-> addelement( text, nombre, Tu nombre: ); $form-> addelement( submit, enviar, Enviar );

Ejemplo HTML_QuckForm // Se llama a la Funcion process() If($form-> validate()){ $form->process( consol ); } Else{ $form->display(); }

Ejemplo HTML_QuckForm // El metodo process() llama a la funcion consol, la cual recoge // los datos del formulario como array. function consol($data){ } echo $data[ nombre ]., recibe un saludo del consol ;

Tipos de Elementos soportados Los tipos de elementos soportados por HTML_QuickForm son: text autocomplete password textarea hidden select radio submit reset button image file header link html

Reglas de validacion El método addrule() agrega reglas de validacion, para un elemento especifico del Formulario. $form->addelement('text', nombre', Nombre: '); //Agrega la regla "required" al elemento nombre $form->addrule( nombre', Teclea tu nombre.', 'required'); //Agrega la regla "minlength" al elemento nombre $form->addrule( nombre', Mayor a 3 letras.', 'minlength',3);

Reglas de validacion required Maxlengt h Minlength Email $lengt h $lengt h La Entrada de datos es requerido para el elemento. El dato puede tener $length caracteres como máximo. Los caracteres que puede tener como mínimo el elemento. El dato debe tener sintacticamente una dirección de correo válida.

Reglas de validacion Numeric Uploadedf ile maxfilesiz e filename $size $file_r x El elemento debe contener solamente un entero valido o un numero decimal. El elemento debe contener un archivo exitosamente cargado al servidor. El archivo debe tener no mas de $size tamaño permitido para subirlo al servidor. El archivo cargado debe tener un nombre de acuerdo a la expresión:

File Uploads require 'HTML/QuickForm.php'; $form = new HTML_QuickForm(); $form->addelement('file','uploaded_file', Tu archivo:'); //Archivo menor o igual a 128kbytes $max_size = 131072; // Estar seguro que se subio al Servidor. $form->addrule('uploaded_file', Por favor, sube el archivo','uploadedfile'); $form->addrule('uploaded_file', Demasiado grande','maxfilesize',$max_size); $form->addrule('uploaded_file', Enviar solamente HTML ','mimetype','text/html'); $form->addelement('submit','save', Enviar archivo'); //No esta permitido suir un archivo mayor que 128k $form->setmaxfilesize($max_size);

?> File Uploads if ($form->validate()) { $form->process( Mover'); } else { $form->display(); }function Mover($data) { global $form; $new_name = strtr($data['uploaded_file']['name'],'/\\',''); $new_name = str_replace('..','',$new_name); $file =& $form->getelement('uploaded_file'); if ($file->moveuploadedfile('/tmp',$new_name)) { print El archivo ha sido cargado en /tmp/$new_name."; }

PEAR::DB PEAR::DB provee una estable relación de métodos para usar una base de datos relacional, no importando la que estes usando.

Ejemplo PEAR::DB requiere DB.php ; $dbh=db::connect( mysql://user:password@host/database ); $sth=$dbh->query( Select nombre, carrera from escuela ); if($sth->numrows()){ while($row = $sth->fetchrow()){ print <br>$row[0]-$ow[1] ; }

Ejemplo PEAR::DB else{ } print No results ;

Introducion DSN msql Microsoft SQL Server mysql MySQL odbc ODBC pgsql PostgreSQL oci8 Oracle 8

El futuro de PEAR Canal de soporte: Te permite distribuir tu propia aplicación usando PEAR al proveer un servidor de paquetes Mejor soporte para PHP5 Manejo de errores mejorado Interfaces Excepciones Aseguramiento de la calidad mejorado

Preguntas Farid Alfredo Bielma Lopez Email: fbielma@fbielma.org MSN: fbielma@hotmail.com http://fbielma.org/conferencia/consol/pear_php.pdf