laravel4 - jövő a jelenben
TRANSCRIPT
Laravel 4 – Jövő a jelenben
Zoltán Borsos – Software Engineer @ Habostorta
A fejlesztőről, bemutatás
• 4. főverzió (2013 Május)
• Készítő: Taylor Otwell (Egy .NET fejlesztő)
• CI fejlesztéssel kezdte
• Hiányosságok gyors felfedezése
• Új célok kitűzése
• Első Laravel release
A kitűzött célok
• Kimagaslóan olvasható kód
• Tesztelhetőség
• Szükséges eszközök biztosítás (auth, form…)
• S.O.L.I.D irányelvek terjesztése
• Könnyű fejlesztés és kiterjesztés
Miért hozott új szemléletet?
• Composer csomagokból épül fel
• Tervezési minták magas fokú használata
• Facade pattern alkalmazása
Route::get()
Event::subscribe()
Mire épül?
Mire épül? - Illuminate
• Egy fedőréteg
• Egységes interfész a különböző csomagok felett
• Egységesítési irányelvek
• Egyszerűen karbantartható, konzisztens
Artisan
• A symfony console komponensre épül
• Csak parancssori eszköz
• Mindenképpen szükséges konzol elérés
Egy request életciklusaRequest
Route
Controller
Model
View
Start fájlok
Eventek
Filterek
Az MVC réteg
• Modellek – Eloquent
• Blade template processor
• Több típusú kontroller
Routing
• Restful és resource típusú kontrollerek
• Routok csoportosítás
• Prefixek és suffixek támogatás, csoportokra is
• Route filterek
• Alap típusok, GET, POST, PATCH…
• Restful route-ok halmozása
Controllerek• Restful kontrollerek
• Resource kontrollerek
• Minden kontroller a BaseController-ből származik
• Megosztott logika a BaseControllerbe kerül
Migrációk és seederek
• Adatbázisszerkezet verziókezelése
• A SchemaBuilder része
• Csak „Artisan”-al futtatható
Eloquent
• SoftDelete használata
• „Accessor” és „Mutator” függvények
• Kapcsolatok
• „Eager-Loading”
Eloquent - Példakódok
Blade
• Öröklődés, szekciók
• Vezérlési szerkezetek
• viewComposerek
• Jól elválasztja a controller és a prezentálási logikát
Blade - példakód
Dependency Injection
Dependency Injection II.
Unit tesztelés• PHPUnit alapú tesztelés
• Egyedi TestCase osztály ami megoldja a teljes boot folyamatot
• Sok egyéb teszt framework létezik hozzá
• A facede pattern miatt egyszerű az „object mocking”
Kódolási stílusok
• PSR-1 és PSR-2
• Megfelelő kommentezés használata
• Irányelvek
Kérdések, kérések?Mit adhatok?
Köszönöm a figyelmet!