Remise à niveau Symfony3: slides
This commit is contained in:
parent
ccb80c82e7
commit
a130fab2f8
|
@ -1,4 +1,4 @@
|
|||
<style>pre, table { font-size: 0.7em !important; }</style>
|
||||
<style>pre, table { font-size: 0.6em !important; }</style>
|
||||
|
||||
# Remise à niveau Symfony3
|
||||
## William Petit - S.C.O.P. Cadoles
|
||||
|
@ -939,6 +939,14 @@ class Comment
|
|||
```
|
||||
---
|
||||
|
||||
## Exercice: relation `many to many`
|
||||
|
||||
Créer une entité "SocialUser" ayant un attribut "friends" qui est une collection de "SocialUser".
|
||||
|
||||
Tester l'ajout de relation et vérifier que la relation est bien bidirectionnelle comme on le souhaiterait dans le cas de la conception d'un réseau social.
|
||||
|
||||
---
|
||||
|
||||
## Les évènements Doctrine et Symfony (1)
|
||||
|
||||
### Création du `Listener`
|
||||
|
@ -1040,6 +1048,14 @@ services:
|
|||
|
||||
---
|
||||
|
||||
## Création et traitement de formulaires (4)
|
||||
|
||||
### Événements et formulaires dynamiques
|
||||
|
||||
Source: https://symfony.com/doc/current/form/events.html
|
||||
|
||||
---
|
||||
|
||||
## Validation des données (1)
|
||||
|
||||
### Installer le composant `validator`
|
||||
|
@ -1068,7 +1084,7 @@ class MyEntity
|
|||
public $name;
|
||||
}
|
||||
```
|
||||
Les différentes validations pré-existantes: `NotBlank`, `Blank`, `NotNull`, `IsNull`, `isTrue`, `IsFalse`, `Email`, `Url`...
|
||||
Les différentes validations pré-existantes: `NotBlank`, `Blank`, `NotNull`, `IsNull`, `IsTrue`, `IsFalse`, `Email`, `Url`...
|
||||
|
||||
Voir http://symfony.com/doc/3.4/validation.html#supported-constraints
|
||||
|
||||
|
@ -1101,13 +1117,75 @@ if ( count($errors) > 0 ) {
|
|||
|
||||
# Mise en production
|
||||
|
||||
## Gestion des environnements
|
||||
## Cache applicatif
|
||||
## Configuration de Nginx
|
||||
## Déploiement
|
||||
|
||||
---
|
||||
|
||||
## Gestion des environnements
|
||||
## Configuration de Nginx
|
||||
```
|
||||
server {
|
||||
|
||||
server_name myapp.fr www.myapp.fr;
|
||||
root /var/www/myapp/web;
|
||||
|
||||
location / {
|
||||
try_files $uri /app.php$is_args$args;
|
||||
}
|
||||
|
||||
location ~ ^/app\.php(/|$) {
|
||||
fastcgi_pass unix:/var/run/php7.1-fpm.sock;
|
||||
fastcgi_split_path_info ^(.+\.php)(/.*)$;
|
||||
include fastcgi_params;
|
||||
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
|
||||
fastcgi_param DOCUMENT_ROOT $realpath_root;
|
||||
# Permet d'empecher les URL du type "http://myapp/index.php/sub-path"
|
||||
internal;
|
||||
}
|
||||
|
||||
location ~ \.php$ {
|
||||
return 404;
|
||||
}
|
||||
|
||||
error_log /var/log/nginx/myapp.log;
|
||||
access_log /var/log/nginx/myapp.log;
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Déploiement de l'application
|
||||
|
||||
### Checklist après le déploiement d'une nouvelle version
|
||||
|
||||
1. Vérifier que l'environnement est viable
|
||||
```bash
|
||||
php bin/symfony_requirements
|
||||
```
|
||||
2. Optimisation de l'autoloader `composer`
|
||||
```bash
|
||||
export SYMFONY_ENV=prod
|
||||
composer install \
|
||||
--no-dev \
|
||||
--optimize-autoloader \
|
||||
--classmap-authoritative
|
||||
```
|
||||
3. Nettoyer/réamorcer le cache applicatif
|
||||
```bash
|
||||
bin/console cache:clear --env=prod --no-debug --no-warmup
|
||||
bin/console cache:warmup --env=prod
|
||||
```
|
||||
4. (Au besoin) Générer les assets via assetic
|
||||
```bash
|
||||
bin/console assetic:dump --env=prod --no-debug
|
||||
```
|
||||
---
|
||||
|
||||
|
||||
5. S'assurer que la configuration de Doctrine est viable
|
||||
```bash
|
||||
bin/console doctrine:ensure-production-settings
|
||||
```
|
||||
---
|
||||
|
||||
# Licence
|
||||
|
|
Loading…
Reference in New Issue