PRÉSENTATION DU COURS

Préface

Bien comprendre comment fonctionne symfony

Une version très différente des précédentes

Si vous avez déjà utilisé les versions antérieures de symfony, la version 4 de ce framework est très différente. Le framework a été complétement répensé pour l'expérience développeur, dans le but de développer des feature plus vite et plus facilement que jamais.

De plus, symfony 4 peut être utiliser pour remplir divers role :

  • Besoin d'un micro framework pour une tout petit site ? Symfony est configuré de base comme un micro framework : juste ce dont vous avez besoin pour commencer
  • Besoin de sortie l'atillerie lourde ? Vous pouvez ajouter des composants à symfony pour gérer tout ce dont vous avez besoin
  • Besoin de quelque chose entre deux ? Ajoutez simplement les composants dont vous avez besoin !

Symfony est donc un outil idéal pour vos projets, quelque soit leur taille.

De plus, la version 4 est la plus rapide du framework, et l'un des plus rapide des framework php

Préparer sont ordinateur pour symfony

Installer composer

Avant de pourvoir utiliser symfony, nous allons devoir utiliser composer

Composer qu'est ce que c'est ?

Composer est un gestionnaire de paquet pour PHP.

Un gestionnaire de pacquet, permet de publier, importer et utiliser des modules créer par d'autres utilisateurs sur packagist.

C'est d'ailleurs sur cette plateforme que sont hébergé tous les packets de symfony, et à peu près toutes les librairies dont vous aurez besoin.

Installer sur windows

Suivez les instructions à cette adresse : Installation Composer

Pas de soucis pour vous, l'installeur va s'occuper de tout installer sur votre pc

Installer sur mac

Dans un premier temps installez brew

Ensuite dans votre terminal tapez :

brew install composer

Toujours dans votre teminal tapez

composer

Ce qui devrait nous donner quelque chose du genre :

   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 1.8.0 2018-12-03 10:31:16

Usage:
  command [options] [arguments]

Options:
  -h, --help                     Display this help message
  -q, --quiet                    Do not output any message
  -V, --version                  Display this application version
      --ansi                     Force ANSI output
      --no-ansi                  Disable ANSI output
  -n, --no-interaction           Do not ask any interactive question
      --profile                  Display timing and memory usage information
      --no-plugins               Whether to disable plugins.
  -d, --working-dir=WORKING-DIR  If specified, use the given directory as working directory.
  -v|vv|vvv, --verbose           Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug

Available commands:
  about                Shows the short information about Composer.
  archive              Creates an archive of this composer package.
  browse               Opens the package's repository URL or homepage in your browser.
  check-platform-reqs  Check that platform requirements are satisfied.
  clear-cache          Clears composer's internal package cache.
  clearcache           Clears composer's internal package cache.
  config               Sets config options.
  create-project       Creates new project from a package into given directory.
  depends              Shows which packages cause the given package to be installed.
  diagnose             Diagnoses the system to identify common errors.
  dump-autoload        Dumps the autoloader.
  dumpautoload         Dumps the autoloader.
  exec                 Executes a vendored binary/script.
  global               Allows running commands in the global composer dir ($COMPOSER_HOME).
  help                 Displays help for a command
  home                 Opens the package's repository URL or homepage in your browser.
  i                    Installs the project dependencies from the composer.lock file if present, or falls back on the composer.json.
  info                 Shows information about packages.
  init                 Creates a basic composer.json file in current directory.
  install              Installs the project dependencies from the composer.lock file if present, or falls back on the composer.json.
  licenses             Shows information about licenses of dependencies.
  list                 Lists commands
  outdated             Shows a list of installed packages that have updates available, including their latest version.
  prohibits            Shows which packages prevent the given package from being installed.
  remove               Removes a package from the require or require-dev.
  require              Adds required packages to your composer.json and installs them.
  run-script           Runs the scripts defined in composer.json.
  search               Searches for packages.
  self-update          Updates composer.phar to the latest version.
  selfupdate           Updates composer.phar to the latest version.
  show                 Shows information about packages.
  status               Shows a list of locally modified packages, for packages installed from source.
  suggests             Shows package suggestions.
  u                    Upgrades your dependencies to the latest version according to composer.json, and updates the composer.lock file.
  update               Upgrades your dependencies to the latest version according to composer.json, and updates the composer.lock file.
  upgrade              Upgrades your dependencies to the latest version according to composer.json, and updates the composer.lock file.
  validate             Validates a composer.json and composer.lock.
  why                  Shows which packages cause the given package to be installed.
  why-not              Shows which packages prevent the given package from being installed.

Si vous souhaitez avoir un setup plus complet, vous pouvez trouver des informations sur ce gist

Si vous êtes à l'aise avec docker, vous pouvez utiliser ce starter, qui vous donnera des php / apache / mysql

Installer sur linux

Suivez la procédure standard de décrite sur le site de composer Si vous êtes sur linux, vous ne devriez pas trop galérer ;)

Créer un projet symfony

Pour créer le projet symfony, nous allons utiliser composer

Rendez vous via la ligne de commande dans le dossier où vous souhaitez créer le projet

Lancez cette commande :

composer create-project symfony/skeleton nomdevotreprojet

Derrière, cette commande clone le repository symfony/skeleton et installe les dépendences via composer install

Parfait ! Notre projet est installé

Rendez vous dans le dossier qui a été créé et lancez le serveur PHP à l'aide ce cette commande :

php -S 127.0.0.1:8000 -t public

Rendez vous sur [localhost:8000] pour voir votre projet tourner

Si vous souhaitez couper le server faites ctrl + c

Conclusion

Après toute cette configuration, c'est la fin de cette première étape !

Vous avez désormais un petit symfony qui tourne, il est certes vide, mais il marche !

Voilà ce que l'on peut retenir de cette étape :

  • Vous avez appris a installer composer
  • Vous avez appris à utiliser composer pour installer un projet symfony
  • Vous en avez appris un peu plus sur cette version de symfony

Envie de discuter du contenu ?

logo twitter @GarnierKristen