mod_top es una herramienta que nos permite monitorizar nuestras aplicaciones LAMP, ofreciendo un entorno similar al conocido comando top. La intención es dar soporte a PHP, Perl, Ruby, Python, mySQL, Postgres y Apache1+2 en Linux, pero actualmente solo da soporte a PHP4 y PHP5.
Con mod_top podrás:
Localizar cuellos de botella en tus aplicaciones.
Solucionar problemas de gran consumo de memoria.
Comprender el uso de CPU.
Diagnosticar causas de poco uso y gran uso de recursos.
Ahora viene la parte más complicada, y digo complicada porque sinceramente he tenido que mirar el código porque algo me fallaba cuando seguía lo que decía la documentación.
El nombre del fichero JSON tiene el siguiente formato [dominio de traducción]-[idioma]-[handler del fichero].json, total nada.
Dominio será el que usemos para traducir, en el ejemplo sería mi-plugin:
__( 'Hola que tal', 'mi-plugin' );
Idioma es el código del idioma, en este caso es_ES
Y por último el handler del fichero es el primer parámetro que usamos en wp_enqueue_script
Lo podemos ver todo en un ejemplo final:
wp_enqueue_script(
'mi-plugin-handler', // El handler mencionado anteriormente
$blocks_script, // Nuestro path
[
'wp-i18n', // De referenciar al menos a wp-i18n
],
);
wp_set_script_translations( 'mi-plugin-handler, 'mi-plugin', plugin_dir_path( __FILE__ ) . 'languages' );
Interesante estudio que muestra la velocidad de tres frameworks PHP (Cake PHP, CodeIgniter y Zend Framework).
Realiza diferentes pruebas: sin usar caché, usando caché propio, usando caché externo, acceso a BD, acceso mediante Active Records, … Los resultados demuestran que CodeIgniter es el más rápido y Cake PHP el más lento.
Es también destacable los datos sobre número de peticiones por segundo cuando se usa un framework a cuando se usa HTML estático. Por eso es recomendable realizar un caché para servir HTML estático.
El autor también realiza una comparativa de funcionalidades entre CodeIgniter y Zend Framework, aunque lo miraría con cuidado, porque dice que CI no admite internacionalización y no es cierto. PHP framework comparison benchmarks
PHP normalmente guarda la sesión en disco, pero como no es algo seguro, ni el directorio tiene que ser el mismo, se debe indicar mediante configuración el que se guarde en disco y la ruta. Para ello hay tres formas de hacerlo:
O bien no me enteré, o bien la solución que plantean desde Contacto Form 7 para traducir formularios no me servía. Ellos proponen crear otro formulario en otro idioma y añadir cada formulario en la página correspondiente a su idioma. ¿Pero qué pasa cuando el formulario no está en una página sino en un widget dentro de un sidebar?, pues que necesitaremos traducir las cadenas de texto mediante WPML.
Para ello nos creamos un filtro que coge los values de la etiqueta, las registra en WPML y las traduce:
add_filter( 'wpcf7_form_tag', 'wpml_cf7_tags');
function wpml_cf7_tags($scanned_tag, $exec ) {
foreach($scanned_tag['values'] as $i=>$v) {
icl_register_string('Contact Form 7', $v, $v);
$scanned_tag['values'][$i] = icl_t('Contact Form 7', $v, $v);
}
return $scanned_tag;
}