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í
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.*" |
Kdyby někdo potřeboval výpomoc formou brigády, nejraději ve fw Laravel. Tak se mi ozvěte.
Dneska jen takové miniaturní vylepšení po přidání zboží do košíku si zobrazíme modla okno. Upravovat budeme pouze view home.blade.php a to konkrétně že si upravíme kod pro přidání zboží do košíku, kde si předáme název a cenu zboží.
Tak jsem se rozhodla , že e-shop si vylepším o přidání do košíku ajaxem. Aby bylo možné použít ajax POST s Laravelem je nejpreve nutné ,aby byl předán s ajaxovým požadavek i csrf_token. Více najdeme jako vždy v dokumentaci X-CSRF_TOKEN Nejprve si upravíme master.blade.php do hlavičky přidáme
1 |
<meta name="csrf-token" content="{{ csrf_token() }}"> |
a také si zajistíme možnost přidat na konkrétní stránce javascritový kód. Takže na konec si přidáme
1 2 3 |
<script> @yield('scripts') </script> |
Nyní upravíme home.blade.php. Pro přidání zboží do košíku budeme používat
1 |
<a href="#" id="add" class="btn btn-primary" data-id="{{ $product->id }}">Koupit</a> |
a na konec souboru…
Takže dnes bych chtěla tento jednoduchý e-shop dokončit a to administrací produktů.
Nyní by bylo vhdoné, abychom si v administraci zobrazili podrobnosti ke každé objednávce. Šablona v administraci má u čísla objednávky odkaz na detail dané objednávky, takže nezbývá než to doprogramovat.