Tomáš Votruba - Hot news! PHP 7.0, 7.1 a Symfony 3.1, 3.2 a 3.3
1. Hot news!
PHP 7, 7.1
Symfony 3.1, 3.2 (3.3)
Tomáš Votruba pro Erudio.cz
únor 2017
http://tomasvotruba.cz
2. ● Novinky
● Jak je použít
● Jak je aplikovat pomocí nástrojů
● Budoucnost automatického upgradu
● Ukázka EasyCodingStandard
Co si dnes povíme o PHP 7 a 7.1?
3. Co si dnes povíme Symfony 3.1, 3.2 a 3.3 (WIP)
● Novinky
● Jak je použít
● Které jsou k ničemu a jaké radši použít bundly
● Na co si dát pozor - WTFs!
● Symfony a zbytečnost taggování
4. PHP 7 a 7.1 - Kde snadno dovíš novinky v PHP?
● Martin Hujer - https://blog.martinhujer.cz/, RSS feed
○ https://www.zdrojak.cz/clanky/jake-novinky-prinese-ph
p-7/
○ https://www.zdrojak.cz/clanky/jake-novinky-prinese-ph
p-7-1/
5. PHP 7 a 7.1 - Podrobnější technické info
● PHP Dokumentace
○ http://php.net/manual/en/migration70.php
○ http://php.net/manual/en/migration71.php
6. PHP 7 a 7.1 - Jak přesvědčit šéfa o upgradu
● http://php.net/supported-versions.php
● PHP 5.5? Už nemá security fixy
● Někdo může ukrást databázi a ani se o tom nemáme
šancidovědět
7.
8. PHP 7 a 7.1 - Rovnou na PHP 7.1
● Stabilnější 7.0
● Nemá smysl skákat dvakrát během 1 roku
● Migrují na ni důležité knihoven, spíše než na 7.0
○ Nette 3.0
○ Symplify 5.0
○ ...
9. PHP 7 a 7.1 - Konkrétní featury v praxi
● Strict Types
● Multi catch exceptions
● Array destruct
● Nullable
● Void
● Anonymní třídy
● Constant visibility
10. PHP 7 a 7.1 - Jak upgradovat a nenadřít se
● Ukázky na Symfony sandboxu
● https://github.com/slevomat/coding-standard/tree/2.0-dev/
● composer: "slevomat/coding-standard": "dev-2.0-dev"
12. Symfony 3.1, 3.2 a (3.3) - Kde se o nich dovědět?
● http://symfony.com/doc/current/contributing/community/rel
eases.html
● Symfony blog - http://symfony.com/blog (RSS feed)
● Pro ty nejlínější jako já :) - https://libraries.io/,
● najít symfony/symfony
● a “Subscribe”!
13. Symfony 3.1, 3.2 a 3.3 - Vydání a podpora verzí
● http://symfony.com/doc/current/contributing/community/rel
eases.html
15. Symfony 3.1, 3.2 a 3.3 - Na jakou verzi?
● Symfony 3.2 - poslední vydanou
● Symfony 3.0 a 3.1 už nemají podporu
16. Symfony 3.3 - WTFs
● Symfony autowiring je od konce roku 2015
● V Nette trvalo zhruba 2 roky, než dospěl, to nás čeká i
tady
● Getter autowiring? NOPE:
http://symfony.com/blog/new-in-symfony-3-3-getter-autowi
ring
19. Symfony 3.3 - Jednodušší služby WTFs
● Autowirable setters? NOPE!
http://symfony.com/blog/new-in-symfony-3-3-configurable-
autowiring-setters
○ Raději constructor injection only
○ Vede k cyklickým závislostem
● Autowired method? NOPE!
http://symfony.com/blog/new-in-symfony-3-3-added-new-s
hortcut-methods#added-a-shortcut-to-create-autowired-de
finitions - lépe https://github.com/Symplify/DefaultAutowire
20. Symfony 3.3 - Jednodušší služby WTFs
● Per File Config Programming? NOPE!
https://github.com/symfony/symfony/pull/21071
21. Symfony 3.2 - Nová komponenta: Workflow
● Příklad s článkem nebo s objednávkou -
http://symfony.com/blog/new-in-symfony-3-2-workflo
w-component
22. Symfony 3.2 - DI improvements
● Compiler passes with priority -
http://symfony.com/blog/new-in-symfony-3-2-compiler-pas
ses-improvements
23. Symfony 3.2 - Console improvements
● Single Command app
● Aliases in one line
● http://symfony.com/blog/new-in-symfony-3-2-console-impr
ovements-part-1
● Terminal Class
● http://symfony.com/blog/new-in-symfony-3-2-console-impr
ovements-part-2 - use case v EasyCodingStandardu!
29. Symfony 3.1 - Action Argument Resolver
● Ne všechny novinky jsou na blogu
● http://symfony.com/doc/current/controller/argument_value
_resolver.html
● Můžeš mrknout na 3.3 label na Githubu -
https://github.com/symfony/symfony/pulls?q=is%3Aopen+i
s%3Apr+milestone%3A3.3