SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Bez závislosti na frameworku
Martin Hujer
PHPPrague 3. 6. 2016
Rychlý průzkum
Kdo jste … ?
A kdo jste PHP developer?
Zend Framework  PHP
Kdo jste tedy PHP developer?
Nedělejte knihovny pro
Zend Nette Symfony
konkrétní framework
Proč ne takhle?
Jak to dělat lépe?
Jak to dělat lépe?
github-api
github-api-
bundle
github-api-
module
github-api-
laravel
LeagueFlysystem
mhujer/
fio-api-php
mhujer/
fio-api-bundle
foo/
fio-api-module
Řešení?
Řešení? Těžké!
PSR-11 + container-interop
ContainerInterface
interface ContainerInterface
{
public function get($id);
public function has($id);
}
Delegate lookup
Standard service providers
Shrnutí
1. Nevytvářejte knihovny pro konkrétní framework
2. Vytvořte nezávislou knihovnu + integrační balíček
3. Budoucnost: PSR-11, ContainerInterface
Martin Hujer
@MartinHujer

Weitere ähnliche Inhalte

Ähnlich wie PHP Prague 3. 6. 2016 - Bez závislosti na frameworku

atoto.cz - jak na snadnou integraci Codeception
atoto.cz - jak na snadnou integraci Codeceptionatoto.cz - jak na snadnou integraci Codeception
atoto.cz - jak na snadnou integraci Codeceptionatotocz
 
Optimalizace Symfony na devu
 Optimalizace Symfony na devu Optimalizace Symfony na devu
Optimalizace Symfony na devuVašek Purchart
 
Vašek Purchart - Optimalizace Symfony na devu (2. sraz přátel Symfony v Praze)
Vašek Purchart - Optimalizace Symfony na devu (2. sraz přátel Symfony v Praze)Vašek Purchart - Optimalizace Symfony na devu (2. sraz přátel Symfony v Praze)
Vašek Purchart - Optimalizace Symfony na devu (2. sraz přátel Symfony v Praze)Péhápkaři
 
06 prez10(tvorba webu)
06 prez10(tvorba webu)06 prez10(tvorba webu)
06 prez10(tvorba webu)olc_user
 
TwigX: pište PHP šablony jako v Reactu
TwigX: pište PHP šablony jako v ReactuTwigX: pište PHP šablony jako v Reactu
TwigX: pište PHP šablony jako v ReactuAdam Kudrna
 
vSphere automation workshop python
vSphere automation workshop pythonvSphere automation workshop python
vSphere automation workshop pythonVladan Laxa
 
Symfony & Doctrine @ Webexpo09
Symfony & Doctrine @ Webexpo09Symfony & Doctrine @ Webexpo09
Symfony & Doctrine @ Webexpo09bauml
 
Continuous integration pro Symfony/PHP aplikaci s Dockerem v GitLabu [CZ]
Continuous integration pro Symfony/PHP aplikaci s Dockerem v GitLabu [CZ]Continuous integration pro Symfony/PHP aplikaci s Dockerem v GitLabu [CZ]
Continuous integration pro Symfony/PHP aplikaci s Dockerem v GitLabu [CZ]Vašek Purchart
 
Symfony vs Nette vs Phalcon
Symfony vs Nette vs PhalconSymfony vs Nette vs Phalcon
Symfony vs Nette vs PhalconVojta Svoboda
 
Představení Ruby on Rails
Představení Ruby on RailsPředstavení Ruby on Rails
Představení Ruby on Railsigloonet
 
PhpStorm @ Poslední Sobota 29.10.2016
PhpStorm @ Poslední Sobota 29.10.2016PhpStorm @ Poslední Sobota 29.10.2016
PhpStorm @ Poslední Sobota 29.10.2016Tomáš Fejfar
 
Framework X jako API
Framework X jako APIFramework X jako API
Framework X jako APIWebScience1
 
ORM Designer: Speed up your ORM development
ORM Designer: Speed up your ORM developmentORM Designer: Speed up your ORM development
ORM Designer: Speed up your ORM developmentBrnoPHP
 

Ähnlich wie PHP Prague 3. 6. 2016 - Bez závislosti na frameworku (20)

TNPW2-2012-04
TNPW2-2012-04TNPW2-2012-04
TNPW2-2012-04
 
TNPW2-2013-04
TNPW2-2013-04TNPW2-2013-04
TNPW2-2013-04
 
atoto.cz - jak na snadnou integraci Codeception
atoto.cz - jak na snadnou integraci Codeceptionatoto.cz - jak na snadnou integraci Codeception
atoto.cz - jak na snadnou integraci Codeception
 
Optimalizace Symfony na devu
 Optimalizace Symfony na devu Optimalizace Symfony na devu
Optimalizace Symfony na devu
 
Vašek Purchart - Optimalizace Symfony na devu (2. sraz přátel Symfony v Praze)
Vašek Purchart - Optimalizace Symfony na devu (2. sraz přátel Symfony v Praze)Vašek Purchart - Optimalizace Symfony na devu (2. sraz přátel Symfony v Praze)
Vašek Purchart - Optimalizace Symfony na devu (2. sraz přátel Symfony v Praze)
 
06 prez10(tvorba webu)
06 prez10(tvorba webu)06 prez10(tvorba webu)
06 prez10(tvorba webu)
 
TwigX: pište PHP šablony jako v Reactu
TwigX: pište PHP šablony jako v ReactuTwigX: pište PHP šablony jako v Reactu
TwigX: pište PHP šablony jako v Reactu
 
vSphere automation workshop python
vSphere automation workshop pythonvSphere automation workshop python
vSphere automation workshop python
 
Just KISS Nette
Just KISS NetteJust KISS Nette
Just KISS Nette
 
Symfony & Doctrine @ Webexpo09
Symfony & Doctrine @ Webexpo09Symfony & Doctrine @ Webexpo09
Symfony & Doctrine @ Webexpo09
 
Asynchronně v PHP
Asynchronně v PHPAsynchronně v PHP
Asynchronně v PHP
 
Continuous integration pro Symfony/PHP aplikaci s Dockerem v GitLabu [CZ]
Continuous integration pro Symfony/PHP aplikaci s Dockerem v GitLabu [CZ]Continuous integration pro Symfony/PHP aplikaci s Dockerem v GitLabu [CZ]
Continuous integration pro Symfony/PHP aplikaci s Dockerem v GitLabu [CZ]
 
Zend Framework
Zend FrameworkZend Framework
Zend Framework
 
Symfony vs Nette vs Phalcon
Symfony vs Nette vs PhalconSymfony vs Nette vs Phalcon
Symfony vs Nette vs Phalcon
 
Představení Ruby on Rails
Představení Ruby on RailsPředstavení Ruby on Rails
Představení Ruby on Rails
 
PhpStorm @ Poslední Sobota 29.10.2016
PhpStorm @ Poslední Sobota 29.10.2016PhpStorm @ Poslední Sobota 29.10.2016
PhpStorm @ Poslední Sobota 29.10.2016
 
Instalace WordPress
Instalace WordPressInstalace WordPress
Instalace WordPress
 
Composer / Posobota
Composer / PosobotaComposer / Posobota
Composer / Posobota
 
Framework X jako API
Framework X jako APIFramework X jako API
Framework X jako API
 
ORM Designer: Speed up your ORM development
ORM Designer: Speed up your ORM developmentORM Designer: Speed up your ORM development
ORM Designer: Speed up your ORM development
 

PHP Prague 3. 6. 2016 - Bez závislosti na frameworku

Hinweis der Redaktion

  1. Kdo jste Nette developer? Kdo jste Symfony developer? Kdo jste Zend Framework developer?
  2. Býval jsem Zend Framework Developer. A velký fanoušek a propagátor. Pak jsem začal používat Symfony. A určitě nejsem jediný, kdo v poslední době změnil framework. Takže je lepší říkat, že jsem PHP Developer, který zrovna používá Symfony
  3. Framework se může změnit a přestane se vám líbit. Nebo změníte práci. A přece nechcete zahodit všechny své knihovny. //cc Filip & Kdyby
  4. Kupodivu jich existuje spoustu. Jen z rychlého hledání na packagistu, nechci se nikoho dotknout.
  5. 1) Změníte framework 2) Obíráte se o spoustu potenciálních uživatelů 3) Pokud to někdo bude chtít v jiném FW, tak musí forknout
  6. 1) Udělat samotnou knihovnu nezávislou na FW 2) A k tomu integraci pro konkrétní FW Ano, víc práce, ale když to dáváte jako OSS, tak si s tím pohrajte.
  7. Mám knihovnu na Fio API a k tomu budle (api klíč v configu) pro Symfony. A pokud by ji někdo chtěl v ZF, tak si udělá jen module.
  8. Akorát to pak dopadne takhle
  9. Nebo takhle
  10. Jde o to, že většinou ty meta balíčky jsou jen definice pro DI kontejner + možnost konfigurace. Bylo by hezké mít možnost to psát jen jednou tak, aby tomu rozuměly všechny FW.
  11. Buď jednotný format configu. Nebo kompilování definic do společného formátu. Nereálné https://groups.google.com/forum/#!topic/php-fig/xsY8bRG5K0M
  12. PHP-FIG víc řeší byrokracii a hádá se (skoro jako internals) https://github.com/php-fig/fig-standards/blob/master/proposed/container.md
  13. https://github.com/container-interop/container-interop/blob/master/src/Interop/Container/ContainerInterface.php
  14. Propojení vice kontejnerů, něco podobného jako u autoloaderu – hledá se, dokud se nenajde. https://github.com/container-interop/container-interop/blob/master/docs/Delegate-lookup.md https://github.com/container-interop/container-interop/blob/master/docs/Delegate-lookup-meta.md
  15. https://github.com/container-interop/service-provider