Aller au contenu

Programmation PHP/Symfony 3

Un livre de Wikilivres.

Créer un projet

Voilà comment créer un projet avec Symfony 3, sorti en 2015

Arborescence du projet

  • Projet : arborescence incluant le framework et le code source de sa propre application.
    • app : applications.
      • config : fichiers .yml de paramétrage global. Les contenus des fichiers suffixés "-dev.yml" ou "-prod.yml" surchargent ceux des non suffixés selon le contexte. Ce qui permet par exemple d'utiliser des mots de passe différents en local et en production.
      • Resources\views : templates .twig.
    • bin : binaires.
    • src : code source ("bundles" de l'utilisateur).
    • vendor : bibliothèques des dépendances ("bundles" téléchargés).
    • web : site accessible en HTTP. Il contient les "assets" : les fichiers CSS et JavaScript.

Pour créer un projet, il existe plusieurs techniques au choix :

Composer.phar

Avec Composer : php composer.phar create-project symfony/framework-standard-edition MonProjet1.

Symfony.phar

Créer l'installeur par ces commandes ou bien en téléchargeant le fichier à l'adresse qui y figure :

GitHub

Avec GitHub : https://github.com/symfony/symfony.

Lancer le projet

Mode dev

Serveur Web intégré

Il existe un composant Symfony pour lancer le projet sans configurer son serveur Web (Apache, Nginx ou autre) :

composer require symfony/web-server-bundle

Une fois le nouveau projet créé, il suffit de suivre les consignes affichées dans la console :

   5.15 MB/5.15 MB ============================================================  100%

Preparing project...

OK  Symfony 3.1.4 was successfully installed. Now you can:

   * Change your current directory to C:\Program Files (x86)\EasyPHP\eds-www\MonProject1

   * Configure your application in app/config/parameters.yml file.

   * Run your application:
       1. Execute the php bin/console server:run command.
       2. Browse to the http://localhost:8000 URL.

L'URL permet d'accéder à toutes les pages du site grâce au serveur Web intégré à Symfony, tant que la console shell est active.

Sous Windows, pour lancer le projet rapidement et facilement, on peut créer un fichier MonProjet1.cmd :

cd "C:\Program Files (x86)\EasyPHP\eds-www\MonProject1"
start http://localhost:8000/
php bin\console server:run
pause

La page de bienvenue doit s'ouvrir ensuite dans le navigateur Web par défaut.

Pour rendre le site web accessible à d'autres machines, le lancer avec son IP, par exemple :

php bin/console server:start 192.168.1.8:80

Cela nécessite d'arrêter le serveur Web qui prenait le port 80.