Jednoduché API ve frameworku Slim 4 – č. 5 Vylepšení UserControlleru
Naše API funguje, ale můžeme zkusit ještě vylepšit, třeba si přidáme validaci vstupních, přidáme prepared statement po práci s databází
Ideální malý a rychlý framework v PHP pro menší weby
Naše API funguje, ale můžeme zkusit ještě vylepšit, třeba si přidáme validaci vstupních, přidáme prepared statement po práci s databází
Pro testování našeho API na lokálním zařízení můžete použít aplikaci např. Postman nebo Insomia. V příkazové řádce se dá použít třeba curl . Ja použiji aplikaci HttPie.
Takže API sice máme, ale naplácáno v jednom souboru a s daty napevno vloženými. Dnes si uděláme nějakou reálnější a použitelnější strukturu naší aplikace a zároveň si aplikaci připojíme k databázi.
Takže v dalším dílu bychom si naše API rozšířili o základní CRUD operace. Minule jsem provedli základní instalaci frameworku a vytvoření jednoduchého endpointu pro ověření správného výstupu ve formátu JSON. Dnes bychom si API rozšířili o základní CRUD operace.
Vytvoříme si jednoduché API ve frameworku Slim 4. Instalaci Slim 4 pomocí composeru
1 |
composer require slim/slim:"4.*" |
Takže pokročíme dále. Na stránce kontakt máme vytvořený formulář a nyní si naprogramujeme odeslání tohoto kontaktního formuláře. V tomto díle bude poměrně hodně změn, tak čtěte pozorně. Nejprve přidáme použití knihovny Swiftmailer pomocí composeru.
Nejprve si upravíme soubor app/routes.php přidáme si další routy a také místo textu vykreslíme pro jednotlivé routy šablony.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php $app->get('/', function () use($app) { $app->render('home.twig'); })->name('home'); $app->get('/sluzby', function () use($app) { $app->render('sluzby.twig'); })->name('sluzby'); $app->get('/kontakt', function () use($app) { $app->render('kontakt.twig'); })->name('kontakt'); |
Tvorbu webu pomocí frameworku Slim a šablon Twig začneme instalací pomocí composeru. V adresáři, kde web tvoříme nainstalujeme základní komponenty
1 2 3 |
composer require slim/slim composer require slim/views composer require twig/twig |