59
Jak přežít Symfony 3? Tomáš Votruba @votrubaT

Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)

Embed Size (px)

Citation preview

Page 1: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)

Jak přežít Symfony 3?

Tomáš Votruba@votrubaT

Page 2: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)

Co dělám, když zrovna nepřednáším?

Školím a spoluvytvářím Symfony, Doctrine a Nette

Organizuju Symfony komunity u nás

Programuju Lekarnu.cz

Page 3: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)

Novinky v Symfony 3

Page 4: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)
Page 5: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)
Page 6: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)
Page 7: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)

1. vydání verzí2. deprecations3. nejzajímavějších novinkách4. kdy a jak migrovat

Dnes si povíme něco o...

Page 8: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)

1. Sémantické verzování

- x.y.z BC break

- x.y.z nové featury

- x.y.z bug fixes

Page 9: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)

1. Co umí jaká verze?

2.8 - všechny nové featury

3.0 = 2.8 bez BC kompatibility

Page 10: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)

1. Min. PHP verze

Page 11: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)
Page 12: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)
Page 13: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)
Page 14: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)

1. Jak je to s dobou trvanlivosti?

Page 15: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)
Page 16: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)
Page 17: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)
Page 18: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)

1. vydání verzí2. deprecations3. nejzajímavějších novinkách4. kdy a jak migrovat

Dnes si povíme něco o...

Page 19: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)

2. Pryč se starým kódem

Page 20: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)

2. Štíhlé Symfony po fitku

Page 21: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)

2. Štíhlé Symfony po fitku

- 10 %

Page 22: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)

2. Štíhlé Symfony :)

ProFIT!

● rychlejší vývoj● snazší orientace● jednoznačné API

Page 23: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)

1. vydání verzí2. deprecations3. nejzajímavějších novinkách4. kdy a jak migrovat

Dnes si povíme něco o...

Page 24: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)

3. Změny v adresářové struktuře Symfony fullstack

Page 25: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)
Page 26: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)
Page 27: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)

3. Zaměření na DX (Developer experience)● autowiring● debug-bar● adaptace PSR-3, LoggerInterface● rozdělení Security:

○ vyčlenění SecurityAclBundle○ nová komponenta Security Guard

Page 28: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)
Page 29: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)
Page 30: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)

3. Autowiring závislostí služeb

Page 31: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)

3. Autowiring - zápis služeb dříveservices:

myService:

class: MyBundle\MyService

arguments: [ dependency1, dependency2 ]

dependency1:

class: MyBundle\Dependency1

dependency2:

class: MyBundle\Dependency2

Page 32: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)

3. Autowiring - nyníservices:

myService:

class: MyBundle\MyService

autowire: true

Page 33: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)

3. Autowiring - nyníservices:

myService:

class: MyBundle\MyService

autowire: true

DI naparsuje konstruktor a:

- pokud jsou služby dostupné, předá je- pokud ne, registruje je jako privátní služby

Page 34: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)

3. Autowiring - a co interface?services:

myService:

class: MyBundle\MyService

autowire: true

Page 35: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)

3. Autowiring - a když je více stejných interfaců?services:

myService:

class: MyBundle\MyService

autowire: true

dependency1:

class: MyBundle\Dependency1

autowiring_types: MyBundle\MyInterface

Page 36: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)

3. Nová komponenta: Polyfil

Page 37: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)

3. Nová komponenta: Polyfil- podpora nových features v PHP do starších verzí- řeší kompatibilitu PHP pro některá extension a funkce- vhodná pro portabilitu napříč různými verzemi PHP

Use case:

- password_hash a password_* funkce od PHP 5.5 (balíček) ircmaxell/password-compat)

Page 38: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)

3. Symfony profiler je šik

Page 39: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)
Page 40: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)
Page 41: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)
Page 42: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)
Page 43: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)

1. vydání verzí2. deprecations3. nejzajímavějších novinkách4. kdy a jak migrovat

Dnes si povíme něco o...

Page 44: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)

4. Proč migrovat?- protože Symfony je super!

Page 45: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)

4. Proč migrovat?- protože Symfony je super!

Page 46: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)

4. Proč migrovat?- protože Symfony je super! - raději kvůli businessu- potřebujete nové features- chcete upgradovat i PHP (min PHP 5.5)

Page 47: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)

4. Jak migrovat?● Symfony < 2.3: na 2.3

● Symfony < 2.7: na 2.7

● Symfony 2.7: na 2.8 (vyjde souběžně s 3.0)

Page 48: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)

4. Jak najít deprecated kód

Page 49: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)
Page 50: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)

4. PHPUnitBridge

composer require symfony/phpunit-bridge --dev

Page 51: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)
Page 52: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)

git clone [email protected]:sensiolabs-in/deprecation-detector.git

cd deprecation-detector

composer install

bin/deprecation-detector your-vendor

4. Deprecation detector

Page 53: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)
Page 54: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)

4. A co na to bundly?

FOSUserBundle FOSRestBundle

FOSElasticaBundle DoctrineBundle

SonataAdminBundle

KnpMenuBundle

Page 55: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)

Vyzkoušej si Symfony 3 na vlastní kůžiSENSIOLABS_ENABLE_NEW_DIRECTORY_STRUCTURE=true composer create-

project symfony/framework-standard-edition myproject @dev

cd myproject

php bin/console server:run localhost:8001

Otevřeš v prohlížeči http://localhost:8001 …

Page 56: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)
Page 57: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)

Jak teda zvládneš Symfony 3 a...

Lepší DX?Nové featury?Best practices?

Page 58: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)

LIKE A BOSS!

Page 59: Jak přežít symfony 3 - 1. sraz přátel Symfony v Praze (in Czech)

Díky za pozornost

Chceš se o Symfony 3 dozvědět víc?

Pobavme se o tom osobně :)

www.tomasvotruba.cz