Archivo de la categoría ‘php’

Frameworks PHP

Llego tarde a esto de los Frameworks en PHP. Siempre he renegado de Rails y similares por su capacidad de “meterse donde no le llaman” a la hora de optimizar u organizar el código, que para eso estoy yo :D. Es como cuando a los que hemos aprendido HTML “a pelo” con el Notepad, lo intentábamos después con Dreamweaver y añade (o añadía, no lo uso desde hace años) etiquetas extra. No nos gusta, queremos mantener el control. Los Frameworks de PHP emulan un poco ese comportamiento tipo Dreamweaver, quizá poniendo más código del que hace falta.

Pero bueno, hay que renovarse y explorar nuevos caminos.

Lo primero ha sido elegir uno. Parece que el “state of the art” en PHP está entre CakePHP, Zend y Symfony. Por lo que he leído por ahí este último es el más completo, a la vez que el más complicado. Prefiero empezar con algo así, antes que luego tener que cambiar. Ya que nos remangamos, hagámoslo con todas las consecuencias.

Me han convencido las ventajas promete:

- Adopta un modelo MVC. Separando el Modelo (lógica de la aplicación) ,la vista (capa de presentación) y controlador (la parte que controla la interacción)

- Object-relational Mapping (ORM). Mediante el cual se crean automáticamente objetos que dan acceso a funciones de base de datos (recuperación, inserción, etc…)

- Preparado para internacionalización y localización.

- Fácil creación de formularios y validación

- Cache integrada.

- Funciones de AJAX.

- Módulo de autenticación ya preparado.

- Código independiente a base de datos.

Además, mis antiguos compañeros de Yahoo! lo van a empezar a utilizar y han sido tan majetes de hacer una buena presentación y dejarla pública.

Teóricamente, te lo da todo hecho para que lo hagas todo bajo unas determinadas “Buenas Prácticas”. En definitiva, todo creado para poder hacer las cosas rápidas y mantenibles, que es lo que buscaba. Veremos si da los resultados esperados!

Friday, July 18th, 2008

Cache con PHP

Cache php LiteLa optimización de un sistema es algo que llega tarde o temprano, y cuanto antes se empiece uno a plantear soluciones para no consumir recursos, mejor y más escalables serán los desarrollos.

Esto aplicado a un sitio web dinámico, como lo son casi todos hoy en día, tiene como primer paso reducir la carga de procesamiento al que sometemos al servidor cada vez que se realiza una petición. Si vamos a mostrar el mismo contenido a todos los usuarios durante las próximas horas, ¿por qué hacer trabajar al sistema para que haga una consulta a la base de datos, o ejecutar una script cada vez si el resultado va a ser el mismo?

Para evitar esto podemos hacer “cache” de contenidos, es decir, hacerlos estáticos, y solo regenerarlos cada cierto tiempo. Con esto el sistema no sólo tendrá menos carga de proceso y memoria, también será mucho más rápido.

Hay varias alternativas y de las que he evaluado me quedo con la librería Cache_Lite, por sencillez y versatilidad. He escrito un ejemplo completo que sirve par a ver cóm funciona y dejo por aquí.

(more…)

Sunday, February 10th, 2008