Yii es un framework PHP desarrollado por el creador de Prado que está centrado en el desarrollo de aplicaciones web2.0 (integrando jQuery) y presume de ser una de las más rápidas y con mejor rendimiento (sobre todo usando APC).
Al igual que muchos otros frameworks, viene con las siguientes características:
MVC
ADO y Active Record
Validación de formularios
Widgets web2.0
Autenticación
Themes
Web Services
Internacionalización
Cache
Control de errores y logs
Seguridad
Generacion automática de código
OOP
Las pruebas de rendimiento indican que es muy rápido, sobre todo usando APC, pero bueno, las pruebas siempre las tiene que hacer alguien externo.
Entre las novedades que nos ofrece la versión 3 nos encontramos con:
Mejoras en el tratamiento de imágenes, como por ejemplo el resize para optimizar el tamaño del PDF o inclusión de todos los tipos de archivos admitidos por GD.
Posibilidad de añadir transparencia a los elementos
Mejoras para el tratamiento de los colores: CMYK o colores HTML
Mejoras en el core y en las clases: propiedades privadas…
Aquellos que quieran crear una web al estilo Digg ya lo pueden hacer mediante Drigg, un módulo para Drupal que nos ofrece este servicio. Para su uso es necesario disponer de otros dos módulos: user_karma y un módulo para votaciones (preferiblemente extra_voting_forms.
Es sencillo de usar y permite modificar el theme de forma fácil. Los fotos se realizan también de forma simple, pudiendo elegir entre 4 tipos de votos. Además permite crear votos automáticos para el inicio de la aplicación para darle actividad aleatoria a la aplicación. Drigg
Vía / Smashing Apps
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' );
P4A (PHP For Applications) es un framework PHP que contiene librerías, módulos y widgets para realizar aplicaciones de forma rápida y sencilla. Serás posible de desarrollar aplicaciones web usando las herramientas que ofrece, haciendo que el usuario tenga la sensación de estar en una típica aplicación de escritorio.
Es compatible con PHP 4.3+, Apache 1.3+, Linux o Windows. Es orientado a objetos, lógica MVC, admite múltiples conexiones a la BD, reconocimiento automático de tipos, muchos widgets, editor WYSIWYG, Ajax y mucho más
Anuncian la versión 3 para dentro de poco, aunque no parece que vaya a tener muchas novedades. P4A
En PHP5 existe una funcionalidad muy interesante a la hora de crear una aplicación o un framework. Se trata del método __autoload que nos permite ejecutar código cuando se intenta instanciar a una clase que aún no ha sido definida aún.
Esto nos permitiría hacer un include del fichero de la clase cuando se vaya a ejecutar, así nos ahorramos muchos includes al principio de cada script.
function __autoload($class_name) {
require_once $class_name . '.php';
}
// El código anterior deberá ir en la clase y cuando vayamos a instanciarlo, como a continuación, se ejecutará
$obj = new MyClass1();
$obj2 = new MyClass2();
El código se puede mejorar para que coja el código de distintas partes o librerías.
Un tutorial paso a paso que nos explica cómo crear un feed RSS mediante CodeIgniter. Realmente se trata de crear una vista que tenga el formato de un feed RSS, algunos prefieren utilizar librerías que directamente devuelven el RSS, pero si nos paramos a detener, un feed o un HTML son en ambos casos vistas.