Juction es un framework para php que nos permite concentrarnos en nuestra lógica de aplicación, simplificando de una forma muy potente todo el trabajo con nuestra base de datos.
Juction mapea las consultas internas a la base de datos cuando trabajamos con objetos, olvidandonos de toda la carga CRUD (Create, Retrieve, Update y Delete).
Lo que sigue es un ejemplo de uso en Juction.
require("/Libs/Junction/Junction.php");
require("/Domain/JunctionUser.php");
//Aquí Juction mapea una típica clase de usuario
$junction = Junction::construct("JunctionUser");
//Ahora jugamos con la clase
$user = new JunctionUser();
$user->setEmail("foo@bar.com");
$user->setPassword("password");
$user->setDate(time());
//Esto insertará un nuevo usuario en la base de datos y devolverá un id, de forma transparente
$junction->save($user);
//un ejemplo con querys parametrizadas
$clause = $junction->createQuery("password = ?");
//Limpiamos el valor que pasamos como parámetro a la consulta
$clause->bind(0, "password");
//Recuperamos en un array de objetos mapeados para juction, el resultado de la query
$users = $junction->loadWhere($clause);
Están trabajando actualmente en el soporte para cosas más avanzadas como INNER JOINS, pero de momento éste proyecto le vendrá muy bien a más de uno.