installation de symfony

Prérequis:
Avant d'installer symfony, il faut vérifier que l'ordinateur dispose d'un environnement de travail adéquat et bien configuré.
Il faut au minimum:
-un serveur web (par exemple apache)
-un moteur de base de données (MySQL, PostgreSQL, SQLLite, ou tout autre moteur de base données PDO-compatible)
-PHP 5.52.4 ou ultérieur


Avant d'installer symfony, créer un répertoire pour un projet donné. Ce répertoire contiendra tous les fichiers liés à ce projet. Par exemple, si l'on veut appeler ce projet 'ravel', créer, sous windows, le répertoire c:\development\sfprojects\ravel
Rq; ne pas créer de répertoire dont le chemin contient des noms avec espace, donc éviter de créer le projet dans 'documents and settings'

Il est recommandé d'intégrer une installation de symfony à chaque projet, et non pas de faire une installation globale pour tous les projets. En réalisant une installation de symfony par projet, les projets deviennent complètement indépendants les uns des autres, ce qui permet de faire des mises à jour séparées de symfony.

Il est d'usage d'installer les fichiers du framework symfony dans le sous-répertoide lib\vendor du projet, c'est à dire dans notre exemple, dans le répertoire c:\development\sfprojects\ravel\lib\vendor

Récupérer l'archive en .zip (si l'on est sous windows) et la décompresser dans le répertoire lib\vendor
précédemment créé. Renommer le répertoire en symfony. On obtient ainsi le répertoire:
c:\development\sfprojects\ravel\lib\vendor\symfony

Vérifier l'installation en se plaçant à la racine du projet et en tapant la ligne de commande php lib/vendor/symfony/data/bin/symfony -V

Création du projet 'ravel':
c:\> php lib\vendor\symfony\data\bin\symfony generate:project ravel
La tâche generate:project génère la structure par défaut des répertoires et les fichiers nécessaires pour un projet symfony

structure créée:
apps/ Accueille toutes les applications du projet
cache/ Les fichiers mis en cache par le framework
config/ Les fichiers de configuration du projet
lib/ Les bibliothèques et les classes du projet
log/ Les fichiers log du framework
plugins/ Les plugins installés
test/ Les fichiers de test unitaire et fonctionnel
web/ Le répertoire racine Web (voir ci-dessous)


Création de l'application:
c:\>php symfony generate:app frontend

structure créée dans apps\frontend\ :
config/ Les fichiers de configuration de l'application
lib/ Les bibliothèques et les classes de l'application
modules/ Le code de l'application (MVC)
templates/ Les fichiers template globaux


Configuration du serveur web:

#changer le port si plusieurs projets (ex:8081)
NameVirtualHost 127.0.0.1:8080

# configuration du projet
Listen 127.0.0.1:8080


DocumentRoot 'c:\development\sfprojects\ravel\web'
DirectoryIndex index.php

AllowOverride All
Allow from All


Alias /sf 'c:\development\sfprojects\ravel\lib\vendor\symfony\data\web\sf'

AllowOverride All
Allow from All