Tous les exercices utilisent Semantic-UI pour la partie CSS. |
Vous utiliserez les flash messages pour tous les messages à afficher.
composer require doctrine maker
Configurer la connexion à la base dans le fichier .env :
# customize this line! DATABASE_URL="mysql://db_user:db_password@127.0.0.1:3306/contacts" # to use sqlite: # DATABASE_URL="sqlite:///%kernel.project_dir%/var/app.db"
Créer la base de données contacts :
php bin/console doctrine:database:create
Créer la classe Contact :
php bin/console make:entity Contact
Modifier la classe (ajouter les membres et annotations Doctrine)
Exemple de classe annotée :
// this use statement is needed for the annotations use Doctrine\ORM\Mapping as ORM; class Product { /** * @ORM\Id * @ORM\GeneratedValue * @ORM\Column(type="integer") */ private $id; /** * @ORM\Column(type="string", length=100) */ private $name; /** * @ORM\Column(type="decimal", scale=2, nullable=true) */ private $price; }
Générer le script de création de la table :
php bin/console doctrine:migrations:diff
Exécuter le script de migration pour effectuer les maj dans la BDD :
php bin/console doctrine:migrations:migrate
Réaliser à nouveau les opérations de migration après toute modification de la classe.
L'application devra permettre d'effectuer les mêmes opérations de base sur les contacts que dans le précédent projet (votre précédent code - contrôleurs et vues - peut donc être intégralement repris) :
URL | Méthode | paramètre(s) | Fonctionnalité |
---|---|---|---|
/contacts | GET | Liste des contacts | |
/contact/new | GET | Formulaire de création d'un contact | |
/contact/edit/1 | GET | index:entier | Formulaire de modification du contact d'index 1 |
/contact/update | POST | Validation du formulaire d'ajout ou de modification | |
/contact/display/1 | GET | index:entier | Affichage du contact d'index 1 |
/contacts/search | POST | Recherche et affiche les contacts correspondant au critère | |
/contacts/select | POST | Sélectionne le ou les contacts dont l'index est posté | |
/contacts/delete | POST | Supprime des contacts celui ou ceux dont l'index est posté |