miércoles, 17 de agosto de 2011

PHPLinq!!… una mejor forma de utilizar los datos



Language-Integrated Query (LINQ) es un conjunto de características presentado en Visual Studio 2008 y 2010 que agrega capacidades de consulta eficaces a la sintaxis de los lenguajes C# y Visual Basic. LINQ incluye patrones estándar y de fácil aprendizaje para consultar y actualizar datos, y su tecnología se puede extender para utilizar potencialmente cualquier tipo de almacén de datos.

Tradicionalmente, las consultas con datos se expresan como cadenas sencillas, sin comprobación de tipos en tiempo de compilación ni compatibilidad con IntelliSense. Además, es necesario aprender un lenguaje de consultas diferente para cada tipo de origen de datos: bases de datos SQL, documentos XML, servicios Web diversos, etc. LINQ convierte una consulta en una construcción de lenguaje de primera clase en C# y Visual Basic. Las consultas se escriben para colecciones de objetos fuertemente tipadas, utilizando palabras clave del lenguaje y operadores con los que se está familiarizado. La ilustración siguiente muestra una consulta LINQ parcialmente completada en una base de datos SQL Server en C#, con comprobación de tipos completa y compatibilidad con IntelliSense.

Ahora bien PHPLinq nos ofrece la oportunidad de ahorrar código PHP para nuestros ciclos o bucles de lenguaje como un while o un foreach. Es difícil contarlo con palabras, voy a comentarlo mejor con un ejemplo.

Ejemplo:

Digamos que tenemos una matriz de cadenas y deseamos seleccionar sólo las cadenas cuya longitud es < 5. Con PHPLinq la manera de lograr esto sería el siguiente:

$nombres = array(“John”, “Peter”, “Joe”, “Patrick”, “Donald”, “Eric”);

$resultado = from($nombre‘)->in($nombres)

->where($nombre => strlen($nombre) < 5)

->select($nombre);

Lo ves familiar a SQL verdad? No escribirá un bucle más de esta serie, el control de la cadena de longitud, y añadiendo una variable temporal todo solucionado. Se entiende fácilmente con el ejemplo.

De todos modos acá les muestro como es la arquitectura de capas de esta librería de datos muy potente para mostrar los forma mas sencilla y dinámica.

No hay comentarios:

Publicar un comentario