le choix de la version https://symfony.com/roadmap
Commandes à exécuter dans un terminal pour installer symfony
curl -sS https://getcomposer.org/installer | php
# php composer.phar require symfony/flex
php composer.phar create-project symfony/skeleton tp1-project
mv composer.phar tp1-project
cd tp1-project/
php composer.phar require symfony/web-server-bundle
php bin/console server:start # en arriere plan
php bin/console server:stop
php bin/console server:status
php bin/console server:run
Documentation :
Remarque : la commande php -S localhost:8000 -t public/
permet de lancer le serveur Web de PHP cependant le bundle web-server-bundle est plus adapté.
Créer un dossier td1_Yaml, ouvrir un terminal dans ce dossier.
Dans la documentation de symfony on trouve : http://symfony.com/doc/current/components/index.html ou http://symfony.com/components puis
config/
et sous dossiers)curl -s https://getcomposer.org/installer | php
pour télécharger composerphp composer.phar require symfony/yaml
pour installer le paquet yamlautoload.php
.Exemple : Créer un fichier test.php avec le contenu suivant (issu de la documentation de symfony) :
<?php
require "vendor/autoload.php";
// documentation : http://symfony.com/doc/current/components/yaml.html
use Symfony\Component\Yaml\Yaml;
$value = Yaml::parse(file_get_contents('file.yml'));
var_dump($value);
créer un fichier file.yml
valeur1: 25
valeur2: du texte
valeur3:
- param1
- param2
Test : utiliser la commande php -S localhost:8000 test.php
php composer.phar require symfony/var-dumper
remplacer var-dump
par dump
avec le deuxième exemple de la documentation de YAML
<?php
require "vendor/autoload.php";
use Symfony\Component\Yaml\Yaml;
try {
$value = Yaml::parse(file_get_contents('file.yml'));
dump($value);
} catch (ParseException $e) {
printf("Unable to parse the YAML string: %s", $e->getMessage());
}
rajouter dans file.yml
valeur4: [param1,param2,"param 3",param 4]
"exemple json": {"valeur5": "ma valeur", "valeur6": "ma valeur 2"}
essai: ~
voir la documentation : http://sweetohm.net/article/introduction-yaml.html
~
derrière une clé ?exemple avec une ancre (documentation)
- &rob
nom: Robert
age: 55
- &elo
nom: Elodie
age: 52
- nom: Mickael
age: 31
parents:
- *rob
- *elo
exemple : https://github.com/RailsApps/learn-rails/blob/master/config/database.yml
Lors de l’installation d’un paquet, il faut en théorie passer à composer en paramètre le namespace du paquet.
Avec symfony Flex, celui-ci gère des recettes d’installation. Sur le site https://symfony.sh/, vous pourrez visualiser les différentes recettes ainsi que des ALIAS pour installer ces recettes. Exemple avec TWIG, FORM , VALIDATOR et MAKER-BUNDLE
curl -s https://getcomposer.org/installer | php
php composer.phar create-project symfony/skeleton tp1-project
mv composer.phar tp1-project
cd tp1-project/
php composer.phar require server (paquet : symfony/web-server-bundle)
php composer.phar require vardumper (paquet : symfony/var-dumper)
php composer.phar require twig
php composer.phar require annotations
php composer.phar req symfony/asset
php composer.phar req doctrine
php composer.phar req profiler # barre de debug
php composer.phar req maker-bundle # générateur de code
php composer.phar req form validator # validateur et formulaire symfony/form symfony/validator
# php composer.phar require --dev theofidry/psysh-bundle => ne fonctionne plus ?
# php composer.phar require doctrine/orm => inutile
# php composer.phar require doctrine/doctrine-bundle => inutile
# php composer.phar require sensio/framework-extra-bundle => inutile
symfony/profiler-pack #barre d'outils
symfony/security-bundle
dans le .env
DATABASE_URL=mysql://votreLogin:votreMotDePasse@127.0.0.1:3306/symfony
ou dans le fichier de configuration
# With Symfony 3.3, remove the `resolve:` prefix
url: 'mysql://votreLogin:votreMotDePasse@127.0.0.1:3306/symfony'
https://github.com/symfony/recipes/blob/master/symfony/security-bundle/3.3/manifest.json