Dev Blog – Symfony Jour 1: le premier bundle

Lancement de mon premier projet sous Symfony

$ php symfony.phar new Kreatike

On est parti!

La commande magique permettant d’initialiser un nouveau projet vient de créer le dossier de ma future application.

Honnêtement, j’ai beau avoir suivis un tuto pour voir les bases de la chose… je dois reconnaitre que je ne suis pas très à l’aise.

Il faut dire que ça va être mon premier vrai site en php, et mon premier vrai site avec un framework.

Je sais d’avance que je vais me prendre masse difficultés, mais comme on dit « to do is learning », donc, go learning!

Mon projet étant relativement bien avancé dans ma tête, je possède un cahier des charges (google doc) pas mal remplis.

Ainsi qu’un tableau Trello sur lequel j’ai déjà indiqué les principales « features » à développer, en commençant vraiment par le tout début.

J’ai donc déjà quelques grandes familles qui se dessinent dont Tutoriels et Utilisateurs.

J’ai mes deux premiers Bundles sous les yeux…

Je commence par « Tutoriel ». Les tutoriels sont la base de la base de ce projet, les users sont une couche supplémentaire qui va venir manipuler ces objets.

Bundle « Tutoriels » pour commencer donc!

Je commence par définir mon objet tutoriel:

id, titre, contenu, images, liste de matériel, date

Ça c’est mon objet de base.

Je sais déjà que plus tard, il lui faudra des liens avec d’autres items: un auteur (utilisateur), et une catégorie.

Je sais également que je vais avoir plusieurs manipulation possibles dessus, qui vont nécessiter des vues:

  • afficher un tutoriel
  • créer
  • modifier/supprimer
  • lister (tout pour commencer, puis par catégories ou auteurs ensuite, une fois que j’aurais ces éléments et qu’ils seront liés)

Le plus simple me semble être afficher un tutoriel, on va donc débuter par là. De plus, une fois que ça sera fait, mon objet tutoriel sera créé, je pourrais donc gérer directement les formulaires pour les pages de création et édition/suppression.

Je crée donc une route « view », pour le moment avec en paramètre juste l’id. À terme, je souhaite ajouter un slug du titre derrière l’id pour optimiser mon référencement, mais je verrais ça par après.

Je crée la fonction qui va bien dans mon contrôleur, qui appelle simplement une nouvelle vue.

Je créer le fichier de vue twig associé.

J’ai mon squelette, mais tout est vide!

Je vais donc créer dans la foulée une base de données, la lier à doctrine et créer mon objet Tutoriel afin de pouvoir jouer directement sur les bonnes valeurs.

Au moment de créer ma table, je décide de rajouter un champ pour la date d’édition. Afin de pouvoir traquer des modifications de contenu sans devoir écraser la date de création.

Je vérifie les paramètres de connexion à la DB dans le fichier app/config/parameters.yml

Hop, une table de créée!

 Finalement j’ai décidé de rajouter les slugs des titres directement.

J’ai donc installé la dépendance Doctrine nécessaire via composer, et ai fait un update sur l’entité et la DB.

J’ai ensuite mis à jour ma route pour l’affichage de mon annonce sur /{id}-{slug}.

Ceci étant fait, la prochaine étape sera de m’attaquer à mes templates de vues.

Une étape qui va nécessiter que je définisse plus précisément mes maquettes et mon wireframe.

0

Catégories : Dev Blog.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *