En esta primera parte, se hará una introducción al PHPLib, se describirá su instalación, y se mostrará como funciona la clase de abstracción de base de datos, DB_Sql.
1. Qué es PHPLib?
PHPLib permite de forma sencilla poder trabajar con diferentes bases de datos de forma transparente, gestionar sesiones de usuarios y llevar un control de acceso basado en bases de datos. Todo esto sin la necesidad de escribir mucho código.
1.1 Características principales
Las características principales de PHPLib se podrían resumir describiendo las siguientes clases:
- DB_Sql. Esta clase es una abstraccion de las bases de datos. Hasta el momento hay 8 implementaciones: MySQL, MSSQL (MS SQL Server), PostgreSQL, ODBC, Sybase, MSQL, Oracle y OCI8. Básicamente esta clase realiza todas las tareas de acceso a BD que se harían mediante las funciones de PHP, con la diferencia que PHPLib lo hace de forma abstracta. Esto permite cambiar de BD sin la necesidad re-escribir el código fuente.
- Session. Se encarga del manejo de sesiones. El manejo de sesiones lo hace a través de cookies.
- Auth. Se encarga de la “autenticación” de las sesiones. Esto se hace a través de un usuario/password y se puede setear un tiempo de expiración.
- Perm. Se encarga del manejo de permisos. Se puede proteger una página entera o sólo cierta parte de ella. De no tener los permisos necesarios se muestra una pantalla de login. Esta clase facilita enormemente la creación de un sistema de privilegios basado en perfiles de usuario, donde cada perfíl de usuario permitirá el acceso a sólo una cierta parte de la Base de Datos, o por ejemplo, a sólo ciertos módulos/opciones de la aplicación web.
- Cart. El típico Carro de Compras para aplicaciones web de comercio electrónico.
- Template. Una implementación de Templates, o plantillas HTML. Uno de los problemas fundamentales con lenguajes como PHP, donde se mezcla el código PHP con el código HTML, es que no está bien delimitado el campo del diseñador HTML y del programador y que el código resultante puede ser complejo de entender y por lo tanto, muy complicado de mantener. Esta clase permite separar el diseño de la programación de aplicaciones web.
1.2 Ventajas y razones para usar PHPLib
Se podrían destacar las siguientes ventajas del uso de PHPLib:
- El uso de clases permite crear aplicaciones de manera rápida, reutilizando código que resulta de fácil mantención.
- La abstracción de la Base de datos permite escalar la aplicación a otro motor de base de datos sin tener que modificar el código de la aplicación, basta con modificar un archivo de configuración del PHPLib.
- Al separar el código PHP del código HTML, mediante el uso de plantillas, se permite que personas sin conocimientos de programación, como por ejemplo un diseñador gráfico, pueda modificar la apariencia de un sitio de manera rápida y sin problemas.
- El sistema de sesiones, autenticación y privilegios que ofrece PHPLib permite crear módulos individuales, restringidos para ciertos usuarios. Los perfiles de los usuarios se mantienen en la Base de Datos, permitiendo una fácil mantención. Las password de los usuarios se guardan encriptadas.