Installation de symfony Flex (4)


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 :

http://127.0.0.1:8000/

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é.

Les composants YAML et VarDumper

Créer un dossier td1_Yaml, ouvrir un terminal dans ce dossier.

yaml

Dans la documentation de symfony on trouve : http://symfony.com/doc/current/components/index.html ou http://symfony.com/components puis

 démo


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

varDumper

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

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


installation

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

résumé des paquets installés

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://symfony.sh/

https://github.com/symfony/recipes/blob/master/symfony/security-bundle/3.3/manifest.json