Apprendre Symfony 3

Configurer son application

Programme

  1. Présentation
  2. Créer son Bundle
  3. Configurer son application
  4. Créer sa première page
  5. Créer sa première entité
  6. Insérer quelques éléments en BDD à partir d'un formulaire

Les Paramètres

parameters.yml

Tout ce qui est spécifique à chaque server

Ignoré par défault dans .gitignore


                            # This file is auto-generated during the composer install
                            parameters:
                            database_host: 127.0.0.1
                            database_port: null
                            database_name: symfony
                            database_user: root
                            database_password: null
                            mailer_transport: smtp
                            mailer_host: 127.0.0.1
                            mailer_user: null
                            mailer_password: null
                            secret: 42c2d47f87ba5488d9623a24e2ff6c1e6f7b03e4
                        

Appelé avec %NOMDUPARAMETRE%

Ex : %secret%

Secret

  • Unique (pour une application)
  • Ajoute de l'entropie à la sécurité
  • Sert pour les cookies

parameters.yml.dist

variables par défault (un "template" pour parameters.yml)

Le fichier config.yml

Importation d'autres fichiers


                        # app/config/config.yml
                        imports:
                        - { resource: parameters.yml }
                        - { resource: security.yml }
                        - { resource: services.yml }
                        

Sécurité

security.yml

firewall

Décide comment les utilisateurs s'authentifient

  • Http
  • Token API

access_control

Indique quels utilisateurs peuvent accéder à la page


                        { path: ^/admin, roles: ROLE_ADMIN }
                        

Toutes les configs

Les différentes catégories configurables


                            php bin/console config:dump-reference
                        

Exemple :


                            php bin/console config:dump-reference twig
                        

Plus d'information :

Configurations

Les environnements

Les fichiers configs

  • app/config/config_dev.yml
  • app/config/config_prod.yml
  • app/config/config_test.yml

                        // app/AppKernel.php
                        // ...
                        class AppKernel extends Kernel
                        {
                        // ...
                        public function registerContainerConfiguration(LoaderInterface $loader)
                        {
                        $loader->load($this->getProjectDir().'/app/config/config_'.$this->getEnvironment().'.yml');
                        }
                        }
                        

On peut tester directement la version de prod en local

  • dev --> http://127.0.0.1:8000/ ou http://127.0.0.1:8000/app_dev.php
  • prod --> http://127.0.0.1:8000/app.php