Jdi na navigaci předmětu

05 - Composer - Sestavení aplikace

Cílem této hodiny je představit Composer. Je to nástroj pro správu balíčků. Používá se k vyřešení závislostí na knihovnách třetích stran a sestavení aplikace.

Z velké části je cílem tohoto cvičení, aby jste si pohráli s knihovnama dostupnýma na Packagistu, nějaké si zkusili nainstalovat s zprovoznit.

Bod za cvičení obdržíte, pokud u sebe ukážete alespoň 2 úspěšně zprovozněné knihovny. Příklady knihoven níže jsou přiklady na jednoduchá zadání, ale pokud máte vlastní nápady, nebojte se je použít ;)

Teorie

Composer (Společně)

  1. vytvořte výchozí composer.json (init)
  2. přidejte závislosti (require) a nainstalujte je (install)
  3. pokud máte správně organizované třídy, můžete váš autoloader odstranit a nastavit composer např.

    "autoload": {
        "psr-4": {"Eshop\\": "src/"}
    },
  4. přidejte do vaší aplikace načtení autoloaderu

    require 'vendor/autoload.php';

    V závislosti na předchozím bodu budete používat buď oba (váš i z composeru) nebo jen jeden.

Validátor

Dokumentace

Nastavení pravidel je možné mnoha způsoby, pro začátek vyzkoušejte např. AttributeLoader, kdy pravidla nadefinujete pomocí anotací ve třídě modelu.

  1. nadefinujte několik validačních pravidel (např. DPH 0-100%)
  2. vytvořte validátor pro příslušný způsob
  3. vytvořte instance modelů s chybami a spusťte validaci
  4. vypište chyby na výstup nebo do logu (viz níže)

Debugger nástroj

Nainstalujte si a zrovozněte v projektu nějaký debugger nástroj, mezi horké tipy patří:

Debug nástroj zprovozněte a zajistěte, aby veškeré chyby ukládal do nové složky logs

Generátor QR kódů

  • Nainstalujte si knihovnu pro generování QR kódů.
  • Vytvořte PHP soubor dostupný přes webový server, který po spuštění přes URL ukáže rovnou QR kód obsahující jedno z následujících.
    • Nějakou hezkou webovou adresu
      • V tomto případě by bylo super, kdyby cílová adresa byla předána v rámci GET parametrů v url adrese a doplňěna
    • QR pro platbu za vybranou objenávku utvořenou v eshopu
      • V tomto případě souboru předáte několik objednávek, pomocí GET parametru bude možné vybrat QR kód pro platbu konkrétní objednávky podle ID

GET parametry budou dostupné v $_GET proměnné. Je nutné vhodně ošetřit, že GET parametr existuje a neobsahuje pro váš script nebezpečné údaje.

Domácí úkol