Programando en PHP
|
|
Por HnZeKtO
departamento php-de-que-si , Sección Desarrolladores Puesto a las Sun Jul 13th, 2003 at 11:03:16 AM CET
|
|
PHP es un lenguaje de script orientado a la programación web muy difundido gracias a su licencia libre. Junto con este lenguaje suele ir muy relacionado el SGBD MySQL, que juntos hacen una gran pareja y de ellos han surgido muchos CMS, sistemas de portal o Weblogs como PHPNuke, Postnuke, GeekLog, Drupal o e107, gracias a los cuales cualquiera puede tener una web y publicar en internet lo que le plazca.
La cuestión no es esa, la cuestión es aprender a hacer todo esto programando en PHP y siguiendo unas reglas básicas de programación soportadas en PHP como la Programación Orientada a Objetos, patrones, el Modelo-Vista-Controlador (MVC), hacer uso de plantillas,...
|
Para empezar lo primero es coger documentación sobre PHP y sobre todo:
- El software, basta con un servidor web, por ejemplo Apache, con el parser de PHP y un SGBD como MySQL o PostgreSQL, todos ellos con versiones para Linux, *BSD, Solaris, Unixes y el "otro sistema operativo".
- Documentación Oficial de PHP.net. Completísima la documentación propia con los detalles de toda la biblioteca de funciones soportadas. Ideal para usar como manual de referencia.
- Tutorial de PHP y MySQL. Un buen tutorial para empezar a conocer el mundillo.
- Manual de PHP en Webestilo. Otro manual bastante completito para empezar a crear pequeños scripts en PHP.
Una vez que se conoce la sintaxis del lenguaje y las funciones básicas, lo suyo es empezar a profundizar en desarrollos más avanzados, y por supuesto, llevando a cabo alguna metodología aplicada a PHP.
- Uso de templates (plantillas). PHP por definición es un lenguaje de script que se incluye entre el código HTML mediante las etiquetas <?php y ?> , esto puede llegar a hacer insostenible el mantenimiento de un sitio web cuando se quiere modificar el diseño, para ello existe una serie de clases para separar el código HTML del PHP.
Smarty es el sistema de plantillas por excelencia, forma parte del grupo que desarrolla PHP. O también otras como SmartPHP que permiten la inclusión de sentencias de selección o bucles en las plantillas.
- El paradigma Modelo-Vista-Controlador consiste en separar el diseño de una aplicación en 3 niveles, uno relacionado con la presentación gráfica (Vista, en nuestro caso HTML, CSS e imágenes), otro que se encarga de como se guardan los datos (Modelo, Base de datos, XML, ficheros,...) y el último el que se encarga del acceso a esos datos, tratamiento y lógica, qué se hace con los datos (Controlador, que serían clases independientes, hacia las que se harán las peticiones). Este paradigma se puede conseguir en PHP usando orientación a objetos o no, aunque la verdad, se aprovecha mejor con la POO.
Para implementar el paradigma no vendrá nada mal este artículo de phppatterns.com para empezar a tomar contacto con la idea. Esto claro está, es para hacérselo todo uno mismo, pero también se pueden usar clases predefinidas como éstas:
- php.MVC. No es más que una implementación de los Jakarta Struts, que implementa el MVC para Java. Está aún muy verde y en fase de desarrollo, pero promete. Tiene como principales características ser orientado a objetos, integración de base de datos vía PEAR::DB, ficheros de configuración XML, seguridad de las aplicaciones (solo hay un punto de acceso). Los únicos requisitos que necesita es un parseador XML (p.e. expat).
- ADODB. Esta implementación del ADO de ASP, hace abstraer completamente el sistema gestor de base de datos de la aplicación que haga uso de él. Esto ya nos ahorra el implementar la M del Modelo-Vista-Controlador, y si le añadimos algún sistema de plantillas, ya tenemos la V, y solo faltaría picar la parte del controlador respectiva de la aplicación. Además ADOdb no sólo ofrece abstración del SGBD, sino que además tiene soporte de gestión de sesiones de PHP4, sistema propio de metatipos para abstraer los tipos de cada SGBD, o añadidos externos como parsers de XML. Por supuesto, para hacer uso de esa abstracción habría que tener una serie de consideraciones a la hora de desarrollar, ya que no todos los sistemas tienen soporte de todas las funciones SQL92, o por otro lado, tienen formas distintas de implementar extensiones del SQL estándar. Para hacernos con esos hábitos existe cantidad de documentación en la web de ADOdb, incluído este interesante artículo que nos explica las claves para realizar código SQL portable con ADOdb.
- Patrones en PHP. Es otra de las características heredadas de la programación en Java (y la POO en general), el uso de patrones para el desarrollo. Los patrones no son más que una serie de operaciones que se suelen repetir comúnmente al desarrollar, para ello se suele crear un método que se usará cada vez que sea necesario.
¿Y qué sería de un programa sin una buena documentación? Vale que documentar es lo que menos nos suele gustar a los programadores, pero esto también nos ayudará para si en un futuro queremos hacer modificaciones de algún desarrollo anterior, y ya no hablemos si estamos haciendo un desarrollo libre, si queremos que la gente colabore, hay que ponérlo lo más fácil posible. Para ello, ¿que tal si usamos algo similar al javadoc de Java? Pues eso es lo que hace phpDoc, genera documentación html a partir de los comentarios que incluimos nosotros en el código.
Ya por último, lo que faltaría sería un entorno de desarrollo, vale que existe ViM y Emacs, pero nunca está de más conocer algún IDE con posibilidades de resaltado de sintaxis, debugger,... como KDevelop o Eclipse.
Y si a esto se le añade el mayor repositorio de PHP [hotscripts.com] o este repositorio de clases [phpclasses.org], o webs como zonaphp.com o DevShed.com, hacen de PHP quizás el lenguaje de programación web más usado en internet, sobre todo gracias a que suele ser una pareja inseparable del servidor web Apache, el más usado en internet.
|
|
|