+ All Categories
Home > Software > Tomáš Votruba - Jak přežít Symfony 3 (1. sraz přátel Symfony v Praze)

Tomáš Votruba - Jak přežít Symfony 3 (1. sraz přátel Symfony v Praze)

Date post: 10-Feb-2017
Category:
Upload: pehapkari
View: 240 times
Download: 1 times
Share this document with a friend
59
Jak přežít Symfony 3? Tomáš Votruba @votrubaT
Transcript

Jak přežít Symfony 3?

Tomáš Votruba@votrubaT

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

Novinky v Symfony 3

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

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

1. Sémantické verzování

- x.y.z BC break

- x.y.z nové featury

- x.y.z bug fixes

1. Co umí jaká verze?

2.8 - všechny nové featury

3.0 = 2.8 bez BC kompatibility

1. Min. PHP verze

1. Jak je to s dobou trvanlivosti?

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

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

2. Pryč se starým kódem

2. Štíhlé Symfony po fitku

2. Štíhlé Symfony po fitku

- 10 %

2. Štíhlé Symfony :)

ProFIT!

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

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

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

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

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

3. Autowiring závislostí služeb

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

myService:

class: MyBundle\MyService

arguments: [ dependency1, dependency2 ]

dependency1:

class: MyBundle\Dependency1

dependency2:

class: MyBundle\Dependency2

3. Autowiring - nyníservices:

myService:

class: MyBundle\MyService

autowire: true

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

3. Autowiring - a co interface?services:

myService:

class: MyBundle\MyService

autowire: true

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

3. Nová komponenta: Polyfil

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)

3. Symfony profiler je šik

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

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

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

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

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)

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)

4. Jak najít deprecated kód

4. PHPUnitBridge

composer require symfony/phpunit-bridge --dev

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

cd deprecation-detector

composer install

bin/deprecation-detector your-vendor

4. Deprecation detector

4. A co na to bundly?

FOSUserBundle FOSRestBundle

FOSElasticaBundle DoctrineBundle

SonataAdminBundle

KnpMenuBundle

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 …

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

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

LIKE A BOSS!

Díky za pozornost

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

Pobavme se o tom osobně :)

www.tomasvotruba.cz


Recommended