Symfony 4 - Créer un blog pas à pas - Installer Symfony

Par Nouvelle-Techno.fr le 29 juillet 2019 - Catégories : MVC Tutoriel Symfony

Lire l'article sur le site d'origine

Cet article est le premier d'une série qui va traiter de la création d'un blog à l'aide du framework PHP Symfony.

Bien que le leader mondial des frameworks MVC actuels soit Laravel, le leader en France est actuellement Symfony.

Les parts de marché pourraient évoluer dans les mois ou années qui viennent en raison de l'extrême simplification du fonctionnement de Symfony depuis la version 4, sujet de cette série d'articles.

Avant de commencer à parler de Symfony en particulier, il est important de bien assimiler le concept MVC.

Le MVC

Qu’est-ce que le MVC ?

Le MVC (Model View Controller) est une méthode d’organisation du développement d’applications Web qui permet de séparer les différents concepts qui résultent de nos pages PHP.

En effet, trois grandes « actions » peuvent être identifiées lorsque nous développons en PHP :

Dans les faits, le navigateur chargera le contrôleur, qui interrogera la base de données par l’intermédiaire du modèle, celui-ci répondra au contrôleur qui traitera les données et les passera à la vue (View), celle-ci étant en charge de générer le code HTML qui est renvoyé au navigateur.

Les Modèles (Models)

Ce que nous appelons un Modèle est en réalité un ou plusieurs fichiers PHP qui ne font que gérer les échanges avec la base de données. Lorsque nous avons besoin de lire ou écrire dans la base de données, nous faisons appel au Modèle.

Les Vues (Views)

Les vues sont principalement des fichiers HTML contenant le code destiné à être transmis au navigateur de l’utilisateur. Nous disposerons des données transmises par le contrôleur afin de les intégrer dynamiquement dans nos pages.

Les Contrôleurs (Controllers)

Véritable tour de contrôle de notre application, le contrôleur a pour fonction de faire l’interface entre les modèles et les vues. Il est chargé de demander les données par l’intermédiaire des modèles, de traiter ces données et de les transmettre aux vues, prêtes à être utilisées.

Le routing

Bien qu’indépendant de l’architecture MVC, le routing fait partie intégrante de tous les frameworks PHP.

Dans une architecture classique, nous pointons vers des fichiers :

Dans une architecture MVC, nous allons pointer vers des dossiers virtuels appelés routes

Cette architecture offre de nombreux avantages :

Symfony

Après cette courte inroduction au MVC, parlons de Symfony.

Symfony est un framework PHP créé par une entreprise Française, Sensiolabs.

Ce framework, aujourd'hui en version 4, offre de nombreux avantages et "simplifie" le développement d'applications web. Il se base sur de nombreuses extensions disponibles sur le web et les fait travailler ensemble pour fournir une immense boîte à outils.

Installation

Avant d'installer Symfony, vous allez avoir besoin de quelques petites choses :

Il est important de noter que nous aurons besoin d'une base de données "innoDB" afin d'avoir une structure relationnelle de base de données. Un serveur MySQL 5.6 est un minimum.

Pour installer Symfony, ouvrez votre terminal dans le dossier dans lequel vous souhaitez installer votre projet et entrez la commande suivante

composer create-project symfony/website-skeleton monblog

Une fois la commande lancée, quelques secondes/minutes s’écouleront avant la fin du processus d’installation.

Structure de dossiers de Symfony

Voici une copie d’écran de la structure par défaut d’un dossier dans lequel Symfony est installé

Démarrer le serveur

Une fois l'installation terminée, vous pouvez démarrer votre serveur en utilisant la commande

php bin/console server:run

Vous pourrez accéder à votre site en entrant l'adresse http://127.0.0.1:8000 (habituellement)

C'est la fin de ce 1er article, dans quelques jours l'article suivant parlera de la conception de la base de données de notre blog.

Obtenir de l'aide

Pour obtenir de l'aide, vous pouvez accéder aux forums de Nouvelle-Techno.fr ou au serveur Discord pour une entraide par chat

#Tutoriel #Framework #MVC #Symfony