Blitz: sistema de plantillas para PHP
Blitz es un sistema de plantillas para PHP que está desarrollado en C y compilado como una extensión para PHP. Habiendo ya muchos sistemas de plantillas para PHP, la pregunta es ¿por qué usar una nueva? la respuesta es simple, Blitz es uno de los sistema de plantillas más rápidos que hay y permite a los desarrolladores crear código compacto y sencillo de leer y modificar, incluso para aquellas aplicaciones con una lógica de presentación compleja.
Blitz se basa en dos conceptos: view controllers que contienen la lógica de presentación sin etiquetas HTML, y las plantillas que contienen el HTML, variables y lógica como condiciones de presentación de datos, includes y llamadas a métodos de usuario.
Blitz
VÃa / International PHP Magazine
links for 2007-07-06
-
Otras caracterÃsticas de este lector de feeds son la posibilidad de puntuar los feeds a los que estamos suscritos, ordenar las suscripciones de varias formas diferentes (por carpetas, puntuación, número de lectores, etc) y una interfaz bastante lograda
-
El subdominio m., aloja la versión móvil de un servicio, y suelen ser una lección de minimalismo si los abres en tu navegador, ya que se desarrollan alrededor del núcleo incorruptible del servicio. Echa un vistazo a estos ejemplos…
Stubbles: framework PHP
Stubbles es un framework para PHP5 que combina las caracterÃsticas favoritas de otros lenguajes de programación y frameworks, en vez de usar los paquetes que te gustan y combianrlos con PEAR, Zend Framework u otros frameworks de PHP.
Entre las caracterÃsticas que ofrece, nos encontramos con:
- API extendida de reflections
- Inversion of Control
- Arquitectura MVC
- API de XML
- Soporte de JSON/AJAX
VÃa / PHPDeveloper.org
JSDoc: documentar javascript
JSDoc es una aplicación realizada en Perl que nos genera la documentación de nuestros scripts Javascript de forma automática. Basado en el conocido javadoc, obtiene los comentarios de documentación (/** … */) para obtener la información sobre las funciones.
AsÃ, por ejemplo, si tenemos la siguiente función:
/**
* Figura es una clase abstracta. Define
* lo que otras subclases heredarán de una
* figura geométrica genérica
* @constructor
*/
function Figura(color){
this.color = color;
}
obtendremos lo siguiente:
Constructor Summary Shape () Construct a new Shape object.
VÃa / Blogging Dashin
links for 2007-07-05
-
En Mashable publican una lista con más de 230 atajos de teclado distribuidos en 13 aplicaciones de uso muy común. Todo el arsenal de Google: Gmail, Google Reader, Google Calendar, Google Maps, Google Video, Blogge, Google Docs…
TrimQuery: usa SQL en Javascript
TrimQuery es un script que permite usar sentencias SQL para obtener datos contenidos en un objeto JSON.
Entre las caracterÃsticas que permite, nos encontramos con:
- Codificado en Javascript estándar.
- Admite SELECT … FROM.
- Cláusulas WHERE.
- Ordenación (ORDER BY) de varias columnas de forma ascendente (ASC) y descendente (DESC).
- Alias (AS).
- Agrupaciones (GROUP BY y HAVING).
- Funciones: SUM, COUNT y AVG.
- Joins
- LIMIT y offsets.
- Parametrización.
- Es ligero (más o menos), ya que ocupa menos de 700 lÃneas.
Si por ejemplo disponemos del siguiente objeto:
Invoice : [ { id: 1, total: 100, custId: 10 }, { id: 2, total: 200, custId: 10 }, { id: 3, total: 300, custId: 10 }, { id: 4, total: 400, custId: 20 } ], Customer : [ { id: 10, acctBalance: 1000 }, { id: 20, acctBalance: 2000 }, { id: 30, acctBalance: 3000 } ]
Podemos obtener datos con la siguiente consulta:
SELECT Customer.id, Customer.acctBalance, Invoice.total FROM Customer, Invoice WHERE Customer.id = Invoice.custId ORDER BY Customer.id
Es sensible a mayúsculas y minúsculas, ya que diferencia entre FROM y from.
VÃa / dzone
Recursos para crear paginación
A la hora de crear paginación en los resultados que devuelve una búsqueda en nuestra aplicación hay que tener varias cosas en cuenta. Sobre todo cuando queremos mostrar los resultados totales. Para saber cuántos resultados se han obtenido, debemos hacer una consulta del tipo:
select count(1) from tabla
Esto suele ser lo más eficiente, ya que la otra opción es hacer la consulta sin más y luego contar el número de registros (a mà me parece una locura, pero lo he visto en varios sitios).
Si ya hemos calculado el número de registros, ahora podemos obtener únicamente un rango de registros ya sea con LIMIT en MySQL o haciendo uso del ROWNUM en Oracle.
¿Presenta algún problema calcular inicialmente el número de registros?, pues sÃ, si la consulta es pesada, por ejemplo por su complejidad, se deberá realizar dos veces, la primera para calcular el número de registros y la segunda para obtener los datos, por lo que perdemos un tiempo precioso.
Lo lógico serÃa hacer un estudio de cuántos registros se pueden obtener de la consulta, si son relativamente pocos, quizás compense obtener todos y no tener que hacer dos consultas. También puede ser interesante conocer hasta que página suele acceder el usuario, no creo que más de 5 a 10 páginas, si el usuario llega a ese número de páginas consultadas y no encuentra nada, o lo da por imposible o refina la búsqueda.
Lo mejor serÃa que no aparecieran el número de registros totales encontrados, aunque esto a veces no es posible ya que las especificaciones del cliente lo obligan, entre otras cosas porque ese dato puede llegar a dar cierto prestigio sobre la calidad del buscador.
Tampoco olvidar que las bases de datos no recuperan todos los registros de una sola vez, sino que los va recuperando según se van solicitando, al menos asà lo hacen bases de datos como Oracle.
De todas formas, para aquellos que necesiten realizar paginación en sus aplicaciones web, os pasamos una serie de tutoriales que esperamos sean de utilidad:
links for 2007-07-04
-
En la vida de todos los jóvenes llega el momento – por lo general inmediatamente después de la dentición – en que deben tomar una decisión de crucial importancia: ¿MySpace o Facebook? Elegir uno u otro es una cuestión de gustos…
-
Hoy anunciamos el lanzamiento de una tercera lÃnea de actividad: WSL Selección, rcializar espacios publicitarios en blogs de terceros. Pensamos que…
-
Joost de Valk ha creado la interesante y práctica Google Web Search Parameters Cheat Sheet [PDF, 100 ] una chuleta que resume qué significa y para qué se usa cada uno de los parámetros que se ve en las URLs del buscador de Google.
Proyectos open source alternativas a MySpace
Os presentamos una lista de proyectos open source para crear vuestras propias alternativas a MySpace.
- Elgg: creado inicialmente para comunidades educativas, permite crear comunidades, blogs y sistema de compartición de archivos.
- People Aggregator: a parte de ser un sistema de alojamiento dónde crear tu propia red social, también puedes descargártelo, instalarlo en tu servidor y configurarlo según tus necesidades.
- Open PNE: uno de los proyectos más definidos, pero con el problema de ser un proyecto japonés con una no muy buena traducción al inglés.
- Joomla Community Builder: no se trata de un proyecto para la creación de redes sociales, sino una extensión para Joomla que va en esa dirección, con una curva de aprendizaje sencilla.
- PHPizabi: otra herramienta para crear comunidades con más de 90.000 descargas, nos permite crear redes sociales y lugares para reunirse usuarios.
- AroundMe: clon de MySpace que permite crear blogs, wikis y comunidades.
5 Open Source Alternatives to Create Your Own MySpace
VÃa / dzone