Post on 12-Apr-2017
Hot news!PHP 7, 7.1
Symfony 3.1, 3.2 (3.3)
Tomáš Votruba pro Erudio.czúnor 2017
http://tomasvotruba.cz
● 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?
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í
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/
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
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
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○ ...
PHP 7 a 7.1 - Konkrétní featury v praxi
● Strict Types● Multi catch exceptions● Array destruct● Nullable● Void● Anonymní třídy● Constant visibility
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"
Symfony 3.1, 3.2 a (3.3) - Kde se o nich dovědět?
● http://symfony.com/doc/current/contributing/community/releases.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”!
Symfony 3.1, 3.2 a 3.3 - Vydání a podpora verzí
● http://symfony.com/doc/current/contributing/community/releases.html
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
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-autowiring
Symfony 3.3 - WTFs
● Autowiring types to alias? NOPE: http://symfony.com/blog/new-in-symfony-3-3-deprecated-the-autowiring-types
● Radši: https://github.com/Symplify/DefaultAutowire
Symfony 3.3 - Jednodušší služby YEPs
● Standardizovaní container:
http://symfony.com/blog/new-in-symfony-3-3-psr-11-containers
● Anonymní služby: http://symfony.com/blog/new-in-symfony-3-3-optional-class-for-named-services○ ~Nette 2013
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-shortcut-methods#added-a-shortcut-to-create-autowired-definitions - lépe https://github.com/Symplify/DefaultAutowire
●
Symfony 3.3 - Jednodušší služby WTFs
● Per File Config Programming? NOPE! https://github.com/symfony/symfony/pull/21071
Symfony 3.2 - Nová komponenta: Workflow
● Příklad s článkem nebo s objednávkou -
http://symfony.com/blog/new-in-symfony-3-2-workflow-component
Symfony 3.2 - DI improvements
● Compiler passes with priority - http://symfony.com/blog/new-in-symfony-3-2-compiler-passes-improvements
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!
Symfony 3.2 - File Helper
● http://symfony.com/blog/new-in-symfony-3-2-file-controller-helper
Symfony 3.1 - DX debugging
● http://symfony.com/blog/new-in-symfony-3-1-forwards-and-redirects-in-the-toolbar-and-profiler
Symfony 3.1 - Json Helper
● http://symfony.com/blog/new-in-symfony-3-1-frameworkbundle-improvements
Symfony 3.1 - Console Table
● http://symfony.com/blog/new-in-symfony-3-1-explicit-column-widths-in-console-tables
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+is%3Apr+milestone%3A3.3
Symfony 3.4 - Kam kráčíš?
● Growing over Autowiring puberty?● Užitečné Helper fce● Symfony 4.0 možná na PHP 7?
Symfony 3.4 - Monopoly Risk
● 1 člověk píše většinu nových věcí
http://symfony.com/blog/symfony-2016-year-in-review