Laravel Blueprint

LARAVEL BLUEPRINT


A Laravel egy hatékony PHP keretrendszer webes alkalmazások készítésére.
Funkciók gazdag készletét kínálja, beleértve az elegáns szintaxist és számos eszközt a fejlesztés gyorsabbá és hatékonyabbá tételéhez.

Azonban még mindezen funkciók mellett is van még mit javítani, különösen, ha olyan ismétlődő feladatokról van szó, mint a modellek létrehozása, a migráció létrehozásáról, a kontrollerek felhúzásáról vagy a tesztekről.

A Blueprint egy composer csomag, amellyel az előzőleg felsorolt komponensek létrehozásának folyamatát leegyszerűsítjük.
Szintaktikája egyszerű, könnyen olvasható, gyorsan megtanulható.
Egyetlen paranccsal generálhatunk modelleket, eventeket, kontrollereket, seedereket, requesteket, migrációkat, mindent mi szem szájnak ingere.

A Laravel Blueprint egyik legfontosabb előnye, hogy segít fenntartani a konzisztens kódszerkezetet és elnevezési konvenciót.
Ez megkönnyíti a kód megértését és karbantartását, különösen az alkalmazás növekedésével. Ezen túlmenően, mivel a Laravel Blueprint előállítja a szükséges kódot, kiküszöböli a szintaktikai vagy logikai hibák lehetőségét, amelyek akkor fordulhatnak elő, amikor kézzel írja ki a kódot.

A Laravel Blueprint támogatja a modellek közötti kapcsolatok meghatározását is, így könnyen létrehozhat

  • egy-az-egyhez,
  • egy-a-többhöz,
  • több a többhöz

és más típusú kapcsolatokat, mindössze néhány sornyi kóddal.
Ha pedig módosítania kell a modelleket vagy kapcsolatokat, egyszerűen frissítheti a tervrajzot és újragenerálhatja a kódot anélkül, hogy minden egyes fájlt manuálisan kellene frissítenie. (Törlésnél kivéve a web.php-t 🤷 )

TELEPÍTÉS

Telepítsük fel a packaget composer segítségével

composer require --dev laravel-shift/blueprint

Lényegében kész is vagyunk.

KONFIGURÁCIÓS FÁJL

A konfigurációs fájl megtekintéséhez publisholjuk a config file-t az alábbi paranccsal

php artisan vendor:publish --tag=blueprint-config

A konfigurációs fájlt a config/blueprint.php-ban érjük el. Többek között beállíthatjuk    

  • Typehinting
  • Seeder fake értékeket adjon a nullable
  • PHP Docs generálása
  • Constrainek használása
  • Cascade delete

A következő lépésben a root folderben készítsünk egy draft.yaml fájlt.

Ebben a fájlban fogjuk felvázolni az alkalmazás “blueprint” / tervrajzát.

Tervezzük meg, mit szeretnénk legenerálni 🤔

Szeretnék három modelt létrehozni, egy User modelt, hozzátartozó Post modelt és a bejegyzésekhez tartozó Comments modelt.
Mindegyik modellhez szeretnék egy-egy kontrollert CRUD metódusokkal és a metódusok tesztjeivel.

A metódusok használjanak igény szerint form request validációt Szeretnék még hozzá factorykat és seedereket is
Tök jó lenne, ha a blade fájlokat is (index, create, edit, show) megkapnánk

Tipp: Figyeljünk oda az indentációra, hiszen nem mindegy hogy milyen “mélyen” van egy egy key

Generálás után érdemes leelenőrizni, hogy nem-e hibáztunk esetleg valahol, és valami rosszul generálódott-e le.

Ha valamit elrontunk, ezzel a paranccsal visszaállítjuk az eredeti állapotot.

php artisan blueprint:erase
Török Ádám

Török Ádám

Fejlesztő