1 #LyX 1.3 created this file. For more info see http://www.lyx.org/
11 \paperpackage widemarginsa4
15 \use_numerical_citations 0
16 \paperorientation portrait
19 \paragraph_separation indent
21 \quotes_language english
25 \paperpagestyle default
29 Programación Avanzada en PHP Integrando Herramientas de Desarrollo Libres
32 Leandro Lucarella <luca (en) lugmen.org.ar>
38 Esta charla está pensada para programadores de PHP que quieren dar un pasito
40 La idea es integrar el uso de varias herramientas libres para realizar
41 desarrollos más complejos y echar un poco de luz sobre PEAR (PHP Extension
42 and Application Repository), comentando sus pro y contra.
48 Conocimientos necesarios para comprender la charla.
57 Nociones sobre Programación Orientada a Objetos (POO).
60 Conocimientos adicionales recomendados para comprender mejor la charla.
78 Manejo de bases de datos con DB.
81 Manejo de templates con HTML_Template_Sigma.
84 Manejo de Formularios con HTML_QuickForm.
87 Diseño de clases con Umbrello + xmi2code.
90 El futuro: cosas a tener en cuenta para migrar a PHP5.
99 PEAR significa PHP Extension and Application Repository; en castellano:
100 Repositorio de Extensiones y Aplicaciones de PHP.
101 Los objetivos de PEAR, según su página web
113 Una biblioteca estructurada de código
117 para usuarios de PHP.
120 Un sistema de distribución de código y mantenimiento de paquetes.
123 Un estilo de programación (
127 ) estándar para escribir código en PHP.
130 The PHP Foundation Classes (PFC), see more below.
133 Una Biblioteca de Código de Extensiones PHP (PHP Extension Code Library,
137 Un sitio web, listas de correo y mirrors de paquetes para apoyar la comunidad
144 La instalación de PEAR es sumamente simple.
145 Tan simple que a partir de la versión de PHP 4.3.0 viene incluido por defecto.
146 Si tenemos una versión inferior, sigue siendo trivial instalarlo.
147 Sólo hay que tener la versión de línea de comandos de PHP y ejecutar:
150 # links --dump http://go-pear.org/ | php4 -q
156 # lynx -source http://go-pear.org/ | php4 -q
159 Si no tenés ningún navegador de consola, podés bajar el archivo con cualqueir
166 Esto te va a hacer un par de preguntas y va a dejar instalado PEAR en tu
177 Una vez instalado, tenemos un nuevo comando
181 que se encarga de bajar, instalar y mantener los paquetes de PEAR, bastante
193 nos da una lista de comandos disponibles y
197 nos da una ayuda sobre cada comando.
200 Lo bueno y lo malo de PEAR.
203 Esta es sólo una recolección de opiniones propias.
209 PEAR ahora es parte de PHP.
210 Es decir, sabemos que donde tengamos PHP vamos a tener PEAR disponible.
213 El simple hecho de tener bibliotecas ya programadas listas para usar.
216 Se pone bastante énfasis en la documentación.
219 Se intenta no duplicar paquetes que hacen lo mismo.
222 Se intenta tener una interfaz común.
228 No aceptan código GPL.
229 Sólo aceptan licencias que permitan desarrollar Software Propietario (como
230 la de PHP, LGPL, BSD, etc).
233 A pesar de poner énfasis en la documentación, hay poca documentación disponible.
236 A pesar de que se intente no duplicar paquetes y tener una interfaz, todavía
240 Diseñando la Aplicación.
243 Antes de empezar a escribir código vamos a diseñar mínimamente la aplicación,
248 donde después escribiremos nuestro código.
249 En esta charla haremos una simple agenda telefónica.
252 Diseño de la base de datos.
255 Como no encontré una herramienta buena para esto y tampoco sé demasiado
256 de diseño de bases de datos, me voy a limitar a escribir el código SQL
257 necesario para crear las tablas que voy a usar:
260 CREATE TABLE persona (
263 id INTEGER(10) UNSIGNED NOT NULL,
266 nombre VARCHAR(25) NOT NULL,
269 apellido VARCHAR(25) NOT NULL,
272 id_domicilio INTEGER(10) UNSIGNED,
284 UNIQUE KEY (nombre, apellido)
292 CREATE TABLE domicilio (
295 id INTEGER(10) UNSIGNED NOT NULL,
298 calle VARCHAR(25) NOT NULL,
301 numero INTEGER(6) UNSIGNED NOT NULL,
307 UNIQUE (calle, numero)
315 CREATE TABLE telefono (
318 id INTEGER(10) UNSIGNED NOT NULL,
321 numero VARCHAR(25) NOT NULL,
324 id_persona INTEGER(10) UNSIGNED NOT NULL,
333 UNIQUE (numero, id_persona, tipo)
339 Diagramas UML con Umbrello
345 http://uml.sourceforge.net/
351 Umbrello es un programa para KDE que permite realizar varios diagramas UML.
352 Es uno de los programas más completos para esta tarea en GNU/Linux.
353 A pesar de esto, esta lejos de ser
357 , y de hecho tiene un par muy molestos.
360 --------- HACER DIAGRAMA UML Y PONER IMAGEN ACA ---------