SlideShare une entreprise Scribd logo
1  sur  17
Télécharger pour lire hors ligne
FWX jako API
Fluffy unicorn🦄
Ondrej Langr
● PHP developer
● 21 jařin na kontě
● Bc. Bezp. mngmt - kyberbezp.
● OSCP applicant
● Víkendový střelec
Motivace
● Potřeba ukojit touhu po rychlém API
● Milan řekl, že to chceme => f3l1x approved
● Jednoduchý návrh
Framework X
● https://github.com/clue/framework-x/
● Rychlá konfigurace endpointů
● Jednoduchý vývoj
● OpenAPI
● ReactPHP
● Middlewares
● Sranda integrace do nette
● PHP 7.1+
Let’s talk numbers
Let’s talk numbers
Let’s talk numbers
Routování
● Určuje http metodu
● Přiřazuje controller (class name, instance)
● BP endpoint = controller
Controllery
● Jeden velký callable
● Definice
○ Anonymní funkcí
○ Třídou
● Třídní endpointy volané magickou metodou __invoke() (funkční DI)
● Validace pomocí NetteSchema
Middleware
● Přebírá 2 parametry - PSR ServerRequest a callable
● Řetězení middlewares
● Pro každou routu může být jiný
Q&A

Contenu connexe

Similaire à 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 developmentBrnoPHP
 
Jádro aplikace, rozhraní webových služeb a prezentační vrstva pro systém Part...
Jádro aplikace, rozhraní webových služeb a prezentační vrstva pro systém Part...Jádro aplikace, rozhraní webových služeb a prezentační vrstva pro systém Part...
Jádro aplikace, rozhraní webových služeb a prezentační vrstva pro systém Part...Antonín Neumann
 
Ondřej Hlaváček: Životní cyklus featury
Ondřej Hlaváček: Životní cyklus featuryOndřej Hlaváček: Životní cyklus featury
Ondřej Hlaváček: Životní cyklus featuryDevelcz
 
PHP Prague 3. 6. 2016 - Bez závislosti na frameworku
PHP Prague 3. 6. 2016 - Bez závislosti na frameworkuPHP Prague 3. 6. 2016 - Bez závislosti na frameworku
PHP Prague 3. 6. 2016 - Bez závislosti na frameworkuMartin Hujer
 
Deployment PHP aplikací | WebExpo 2011
Deployment PHP aplikací | WebExpo 2011Deployment PHP aplikací | WebExpo 2011
Deployment PHP aplikací | WebExpo 2011Jan Mittner
 
Čtvrtkon #98 - Sentry micro talk
Čtvrtkon #98 - Sentry micro talkČtvrtkon #98 - Sentry micro talk
Čtvrtkon #98 - Sentry micro talkMartin Hlaváč
 
Pavel Cvetler: Jeden kód, co vládne všem? Žádný problém pro Android i iOS
Pavel Cvetler: Jeden kód, co vládne všem? Žádný problém pro Android i iOSPavel Cvetler: Jeden kód, co vládne všem? Žádný problém pro Android i iOS
Pavel Cvetler: Jeden kód, co vládne všem? Žádný problém pro Android i iOSmdevtalk
 
MicroPython IoT vlaxa
MicroPython IoT vlaxaMicroPython IoT vlaxa
MicroPython IoT vlaxaVladan Laxa
 
Tipy a triky, best practices, deployment, testování
Tipy a triky, best practices, deployment, testováníTipy a triky, best practices, deployment, testování
Tipy a triky, best practices, deployment, testováníRadim Klaška
 
Technologie užívané při vývoji velkých e-shopů
Technologie užívané při vývoji velkých e-shopůTechnologie užívané při vývoji velkých e-shopů
Technologie užívané při vývoji velkých e-shopůPeckaDesign.cz
 
vSphere automation workshop python
vSphere automation workshop pythonvSphere automation workshop python
vSphere automation workshop pythonVladan Laxa
 

Similaire à Framework X jako API (14)

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
 
Jádro aplikace, rozhraní webových služeb a prezentační vrstva pro systém Part...
Jádro aplikace, rozhraní webových služeb a prezentační vrstva pro systém Part...Jádro aplikace, rozhraní webových služeb a prezentační vrstva pro systém Part...
Jádro aplikace, rozhraní webových služeb a prezentační vrstva pro systém Part...
 
Ondřej Hlaváček: Životní cyklus featury
Ondřej Hlaváček: Životní cyklus featuryOndřej Hlaváček: Životní cyklus featury
Ondřej Hlaváček: Životní cyklus featury
 
PHP Prague 3. 6. 2016 - Bez závislosti na frameworku
PHP Prague 3. 6. 2016 - Bez závislosti na frameworkuPHP Prague 3. 6. 2016 - Bez závislosti na frameworku
PHP Prague 3. 6. 2016 - Bez závislosti na frameworku
 
Asynchronně v PHP
Asynchronně v PHPAsynchronně v PHP
Asynchronně v PHP
 
Deployment PHP aplikací | WebExpo 2011
Deployment PHP aplikací | WebExpo 2011Deployment PHP aplikací | WebExpo 2011
Deployment PHP aplikací | WebExpo 2011
 
Čtvrtkon #98 - Sentry micro talk
Čtvrtkon #98 - Sentry micro talkČtvrtkon #98 - Sentry micro talk
Čtvrtkon #98 - Sentry micro talk
 
Pavel Cvetler: Jeden kód, co vládne všem? Žádný problém pro Android i iOS
Pavel Cvetler: Jeden kód, co vládne všem? Žádný problém pro Android i iOSPavel Cvetler: Jeden kód, co vládne všem? Žádný problém pro Android i iOS
Pavel Cvetler: Jeden kód, co vládne všem? Žádný problém pro Android i iOS
 
MicroPython IoT vlaxa
MicroPython IoT vlaxaMicroPython IoT vlaxa
MicroPython IoT vlaxa
 
Tipy a triky, best practices, deployment, testování
Tipy a triky, best practices, deployment, testováníTipy a triky, best practices, deployment, testování
Tipy a triky, best practices, deployment, testování
 
06 Cvičení.pptx
06 Cvičení.pptx06 Cvičení.pptx
06 Cvičení.pptx
 
Technologie užívané při vývoji velkých e-shopů
Technologie užívané při vývoji velkých e-shopůTechnologie užívané při vývoji velkých e-shopů
Technologie užívané při vývoji velkých e-shopů
 
Euphoria API
Euphoria APIEuphoria API
Euphoria API
 
vSphere automation workshop python
vSphere automation workshop pythonvSphere automation workshop python
vSphere automation workshop python
 

Plus de WebScience1

The Clone Wars: Spoutání Síly PHP a Nextras ORM | Jakub Fatrdla | 19. 4. 2023...
The Clone Wars: Spoutání Síly PHP a Nextras ORM | Jakub Fatrdla | 19. 4. 2023...The Clone Wars: Spoutání Síly PHP a Nextras ORM | Jakub Fatrdla | 19. 4. 2023...
The Clone Wars: Spoutání Síly PHP a Nextras ORM | Jakub Fatrdla | 19. 4. 2023...WebScience1
 
Kompletní průvodce obrázky | Tomáš Krejčí | 19. 4. 2023 – SUPERKODERS.CZ
Kompletní průvodce obrázky | Tomáš Krejčí | 19. 4. 2023 – SUPERKODERS.CZKompletní průvodce obrázky | Tomáš Krejčí | 19. 4. 2023 – SUPERKODERS.CZ
Kompletní průvodce obrázky | Tomáš Krejčí | 19. 4. 2023 – SUPERKODERS.CZWebScience1
 
Rust jako náhrada C pro vývoj PHP extensions?
Rust jako náhrada C pro vývoj PHP extensions?Rust jako náhrada C pro vývoj PHP extensions?
Rust jako náhrada C pro vývoj PHP extensions?WebScience1
 
Jak jsme překládali pomocí Symfony/Messenger
Jak jsme překládali pomocí Symfony/MessengerJak jsme překládali pomocí Symfony/Messenger
Jak jsme překládali pomocí Symfony/MessengerWebScience1
 
Jak neopakovat kód, ale nepo**** abstrakci | Jiří Pudil | 15. 2. 2023 – Kiwi.com
Jak neopakovat kód, ale nepo**** abstrakci | Jiří Pudil | 15. 2. 2023 – Kiwi.comJak neopakovat kód, ale nepo**** abstrakci | Jiří Pudil | 15. 2. 2023 – Kiwi.com
Jak neopakovat kód, ale nepo**** abstrakci | Jiří Pudil | 15. 2. 2023 – Kiwi.comWebScience1
 
Jak na více Docker kompozic na lokále | Jan Drábek | 15. 2. 2023 – Kiwi.com
Jak na více Docker kompozic na lokále | Jan Drábek | 15. 2. 2023 – Kiwi.comJak na více Docker kompozic na lokále | Jan Drábek | 15. 2. 2023 – Kiwi.com
Jak na více Docker kompozic na lokále | Jan Drábek | 15. 2. 2023 – Kiwi.comWebScience1
 
RabbitMQ v PHP webových aplikacích | Adam Král | 15. 2. 2023 – Kiwi.com
RabbitMQ v PHP webových aplikacích | Adam Král | 15. 2. 2023 – Kiwi.comRabbitMQ v PHP webových aplikacích | Adam Král | 15. 2. 2023 – Kiwi.com
RabbitMQ v PHP webových aplikacích | Adam Král | 15. 2. 2023 – Kiwi.comWebScience1
 

Plus de WebScience1 (7)

The Clone Wars: Spoutání Síly PHP a Nextras ORM | Jakub Fatrdla | 19. 4. 2023...
The Clone Wars: Spoutání Síly PHP a Nextras ORM | Jakub Fatrdla | 19. 4. 2023...The Clone Wars: Spoutání Síly PHP a Nextras ORM | Jakub Fatrdla | 19. 4. 2023...
The Clone Wars: Spoutání Síly PHP a Nextras ORM | Jakub Fatrdla | 19. 4. 2023...
 
Kompletní průvodce obrázky | Tomáš Krejčí | 19. 4. 2023 – SUPERKODERS.CZ
Kompletní průvodce obrázky | Tomáš Krejčí | 19. 4. 2023 – SUPERKODERS.CZKompletní průvodce obrázky | Tomáš Krejčí | 19. 4. 2023 – SUPERKODERS.CZ
Kompletní průvodce obrázky | Tomáš Krejčí | 19. 4. 2023 – SUPERKODERS.CZ
 
Rust jako náhrada C pro vývoj PHP extensions?
Rust jako náhrada C pro vývoj PHP extensions?Rust jako náhrada C pro vývoj PHP extensions?
Rust jako náhrada C pro vývoj PHP extensions?
 
Jak jsme překládali pomocí Symfony/Messenger
Jak jsme překládali pomocí Symfony/MessengerJak jsme překládali pomocí Symfony/Messenger
Jak jsme překládali pomocí Symfony/Messenger
 
Jak neopakovat kód, ale nepo**** abstrakci | Jiří Pudil | 15. 2. 2023 – Kiwi.com
Jak neopakovat kód, ale nepo**** abstrakci | Jiří Pudil | 15. 2. 2023 – Kiwi.comJak neopakovat kód, ale nepo**** abstrakci | Jiří Pudil | 15. 2. 2023 – Kiwi.com
Jak neopakovat kód, ale nepo**** abstrakci | Jiří Pudil | 15. 2. 2023 – Kiwi.com
 
Jak na více Docker kompozic na lokále | Jan Drábek | 15. 2. 2023 – Kiwi.com
Jak na více Docker kompozic na lokále | Jan Drábek | 15. 2. 2023 – Kiwi.comJak na více Docker kompozic na lokále | Jan Drábek | 15. 2. 2023 – Kiwi.com
Jak na více Docker kompozic na lokále | Jan Drábek | 15. 2. 2023 – Kiwi.com
 
RabbitMQ v PHP webových aplikacích | Adam Král | 15. 2. 2023 – Kiwi.com
RabbitMQ v PHP webových aplikacích | Adam Král | 15. 2. 2023 – Kiwi.comRabbitMQ v PHP webových aplikacích | Adam Král | 15. 2. 2023 – Kiwi.com
RabbitMQ v PHP webových aplikacích | Adam Král | 15. 2. 2023 – Kiwi.com
 

Framework X jako API