Desenvolupament d'Aplicacions

Com generar un CRUD de proves a Symfony?

Un CRUD és un entorn generalment no visible per a l'usuari que ens permet interactuar amb la base de dades, facilitant les quatre tasques bàsiques: Create (crear), Read (llegir), Update (actualitzar), Delete (esborrar).

Com generar un CRUD de proves a Symfony?

CRUD a Symfony

Un dels desavantatges que trobem quan desenvolupem amb Frameworks és el desenvolupament d'elements repetits de forma recurrent, com pot ser un gestor d'urls, un sistema de gestió de pujada d'arxius, un mètode d'autenticació d'usuaris i rols, i, per suposat, un CRUD.

Existeixen Frameworks que ja han pensat en això i et permeten generar un CRUD. Un exemple és Yii2. Inclús el propi Symfony a la seva primera versió ho permetia.

Realment Symfony al ser un framework modulable i amb una gran vinculació entre formularis i gestió d'entitats, permet que ens podem generar un propi, per suposat, exportable a qualsevol projecte.

Per a els que no vulguin generar un propi tenim diverses opcions més senzilles:

  • Adoptar un de tercers. Existeixen dos bastant potents:
    • Easy Admin: Molt senzill de fer-ho funcionar.
    • Sonata Admin: Aquest és molt complex, però pertany al projecte Sonata, que es composa de molts Bundles que et permeten muntar un comerç electrònic.
  • Utilitzar el generador de CRUD de Symfony (molt bàsic).

Per utilitzar el generador de CRUD hem de seguir dos pasos:

  1. Generar una entitat.
  2. Generar el crud per a l'entitat creada.

Generar una nova entitat

Per generar una entitat únicament anirem a la terminal, al nostre projecte Symfony, i escrivim:

php bin/console generate:doctrine:entity

Anem responent les preguntes del terminal i ja tindrem l'entitat creada amb els camps que li haguem indicat.

Utilitzar el generador de CRUD de Symfony

Suposem que hem creat una entitat al bundle AcmeBlog i s'anomena post. A partir de l'entitat apliquem la següent comanda:

            php bin/console generate:doctrine:crud --entity=AcmeBlogBundle:Post

I ja està, s'hauran generat unes vistes, controladors i rutes per a:

  • Llistar: prefixe/
  • Crear: prefixe/new
  • Editar: prefixe/edit/{$id}
  • Veure: prefixe/{$id}
  • Esborrar: prefixe/{$id} Accessible mitjançant el mètode POST.

Comparteix aquest article

Articles Relacionats