Tres enlaces ilustrativos:
https://jherax.wordpress.com/2015/02/13/javascript-closures/
http://www.variablenotfound.com/2012/10/closures-en-javascript-entiendelos-de.html
http://www.arquitecturajava.com/javascript-closure-funcionamiento/
Una vez que obtienes el repositorio, tienes acceso a todo tipo de métodos útiles:
// consulta por la clave principal (generalmente 'id') $product = $repository->find($id); // métodos con nombres dinámicos para buscar un valor en función de alguna columna $product = $repository->findOneById($id); $product = $repository->findOneByName('foo'); // obtiene todos los productos $products = $repository->findAll(); // busca productos basándose en el valor de una columna $products = $repository->findByPrice(19.99);
También puedes utilizar los métodos findBy
y findOneBy
para obtener objetos en función de varias condiciones:
// busca un producto con ese nombre y ese precio $product = $repository->findOneBy(array( 'name' => 'foo', 'price' => 19.99 )); // obtiene todos los productos con un nombre determinado // y ordena los resultados por precio $product = $repository->findBy( array('name' => 'foo'), array('price' => 'ASC') );
$repository = $this->getDoctrine() ->getRepository('AcmeStoreBundle:Product'); $query = $repository->createQueryBuilder('p') ->where('p.price > :price') ->setParameter('price', '19.99') ->orderBy('p.price', 'ASC') ->getQuery(); $products = $query->getResult();
$em = $this->getDoctrine()->getManager(); $query = $em->createQuery( 'SELECT p FROM AcmeStoreBundle:Product p WHERE p.price > :price ORDER BY p.price ASC' )->setParameter('price', '19.99'); $products = $query->getResult();
La wikipedia:
Tutoriales:
https://desarrolloweb.com/articulos/que-es-mvc.html
https://codigofacilito.com/articulos/mvc-model-view-controller-explicado
Algunos frameworks en php:
Artículo sobre MVC: