php

Benchmark a tu sitios con ApacheBench en Linux

Si tu sitio u aplicación está alojada en un servidor que corre sobre apache, entonces podemos hacer un Benchmark para verificar el tiempo de respuesta de nuestra aplicación, gracias a la aplicación ApacheBench.

Este aplicación nos ayuda para hacer benchmark de aplicaciones hechas en php por ejemplo u otro tipo de aplicaciones, ya que podemos medir el tiempo de respuesta de nuestra app.

Ahora les coloco un ejemplo de su uso:
  • Entramos a la consola y colocamos:

Problemas con bindable y paginate en CakePHP

Últimamente tuve un poco de problemas con los binds y la función paginate de la nueva versión de el marco de trabajo cakephp, la 1.2.

Cakephp relación HBTM personalizada

Trabajando con CakePHP me encuentro en el manual el típico ejemplo de una relación de muchos a muchos (ejemplo de la relación de posts y tags).

Según la documentación se debe crear un campo select multiple para colocar los tags aquí. Este método no me gustó mucho y decidí hacerlo al estilo de el bloguer de Google, o sea, separar los tags por compas en un campo tipo text.

setFlash de CakePHP con ZendFramework

Por estos días estoy en training total de Zend Framework, la verdad un framework muy flexible, con una gama de clases bastante buenas que permiten agilizar nuestro tiempo de desarrollo (ojo eso si dominamos dicho framework, no demora mucho tiempo dominarlo). En fin anteriormente he utilizado CakePHP, otro framework que me gusta bastante, pero que aunque más fácil de usar, diría a mi concepto es menos flexible que el framework de Zend. Para ir al asunto, hay varias funciones de cakephp que me gustan mucho, entre ellas la que utilizamos en el controlador para guardar mensajes y mostrarlos aun

Diferentes themes para diferentes contenidos en Drupal

Si tenemos la necesidad de colocar diferentes themes para diferentes categorías de contenidos en drupal tenemos un módulo bastante bueno para solucionar este problema. Se trata de Taxonomy Theme. Este módulo permite asignar diferentes templates a cada término dentro de una categoría de contenido.

CakePHP y Foxpro

Hace un tiempo me hice la pregunta si podía conectar Visual Foxpro con CakePHP. Había investigado un poco pero no había dado con la solución. Buscando un poco me di cuenta que cake maneja conexiones con adodb (librerías para manejo de base de datos en php). Con estas librerías encontré la solución. Lo lamentable es que hasta ahora solo lo puedo hacer en windows.
Solución:

Modulo dbase para php5 (sin tener que recompilar)

El otro día me encontré con un problema con el módulo de php dbase. Cuando lo fui a instalar por el administrador de paquetes (aptitude), este no lo pudo encontrar.

Solución:
  • Descargar el paquete de php (en php.net)
  • Descargar el paquete php5-dev
  • Desempaquetar php y entrar a la carpeta ext/dbase
  • Ejecutar el comando phpize
  • Ejecutar el comando ./configure
  • Ejecutar el comando make

Rewrite rule y programación modular

Cuando tenemos una aplicación modular desarrollada en php y queremos esconder la url completa y sustituirla por una url limpia podemos hacer uso del module rewrite de apache.

Para eso tenemos que crear un archivo .htaccess dentro del root de nuestra aplicación. Si nuestro front controller está o es llamado desde index.php podemos hacer lo siguiente:
Si la cadena original es:
index.php?modulo=noticias&act=index
Nuestro archivo htaccess tendría lo siguiente:

Modificar htaccess para aplicación externa en CakePHP

Si has hecho un sistema en CakePHP y te dicen que tienes que agregar por ejemplo un blog a esa aplicación, pero no tienes que hacerla de cero con cakephp y puede utilizar por ejemplo wordpress, lo único que tienes que hacer crear una carpeta especial para dicha aplicación y agregar una línea al archivo .htaccess del documento raíz. Si tu carpeta se llama blog, la línea que tienes que agregar sería como esta (tomando en cuenta que dentro de blog va estar un index.php de la aplicación):
RewriteRule blog/(.*) - [L]

Con esto el htaccess quedaría de la siguiente manera

Drupal - CMS

En estos días he empezado a investigar y a usar el CMS Drupal. Me parece un buen gestor de contenido, muy bien pensado, y con una extensibilidad increíble. Anteriormente he usado Joomla que también me parece un excelente CMS debido a el fácil uso y aprendizaje de la sección de administración. He descubierto que drupal es un poco más dificial de administrar, pero a su vez es mucho más extensible y flexible que joomla.