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
|
# Remise à niveau Symfony3
|
||||||
## William Petit - S.C.O.P. Cadoles
|
## 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)
|
## Les évènements Doctrine et Symfony (1)
|
||||||
|
|
||||||
### Création du `Listener`
|
### 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)
|
## Validation des données (1)
|
||||||
|
|
||||||
### Installer le composant `validator`
|
### Installer le composant `validator`
|
||||||
|
@ -1068,7 +1084,7 @@ class MyEntity
|
||||||
public $name;
|
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
|
Voir http://symfony.com/doc/3.4/validation.html#supported-constraints
|
||||||
|
|
||||||
|
@ -1101,13 +1117,75 @@ if ( count($errors) > 0 ) {
|
||||||
|
|
||||||
# Mise en production
|
# Mise en production
|
||||||
|
|
||||||
## Gestion des environnements
|
## Configuration de Nginx
|
||||||
## Cache applicatif
|
## 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
|
# Licence
|
||||||
|
|
Loading…
Reference in New Issue