Csatlakozz a Slack chatre

Amikor elkezdtem PHP-val foglalkozni, és már MVC rendszert használtam, egy hiba lekezelését megoldottam azzal, hogy true vagy false értéket ad vissza egy függvény. Biztos sokak számára ismerős ez a lépcső kezdeti programozói karrierünkben, valljuk be nem valami professzionális megvalósítás ez. Főleg úgy, hogy a try – catch kivétel kezelés már régóta (PHP 5.?) benne van a PHP-ban, és nem is tudtam róla.

Az AngularJS az egyik legsikeresebb javascript keretrendszer napjainkban. Az alábbi cikkben bemutatom, hogy hogyan tudjuk a Laravel-t API-ként használni hozzá. A cikk főleg a Laravel résszel foglalkozik, az Angular-os megvalósítás részletei az olvasóra vannak bízva, mivel ez több módon is kivitelezhető.

Amikor elsajátítjuk a Laravel alapjait, még nem gondolkozunk azon, hogy mi lesz ha egyre komplexebb lesz az alkalmazásunk, struktúrális szempontból. Általában első körben sokunk a controllerbe helyezi el az adatbázis lekérdezéseket, később ezek a funkciók a Model-ekbe kerülnek bele, levéve a controller-ek válláról a terhelést. Mi van akkor, ha ezeket a Query Builder vagy Eloquent hívásokat ki kell cseréljük más adatbázis kapcsolatra, pl MongoDB-re? Ekkor egy rugalmasabb megoldásra van szükségünk, hogy relatív gyorsan át tudjunk váltani az egyik megvalósításról a másikra. Ezt a Repository-k használatával érhetjük el.  

Örömmel jelenthetjük be, hogy létrehoztuk a magyar Laravel közösség oldalát a meetup.com oldalon..

Sokszor éri támadás a Laravel-t, hogy rengeteg statikus hívást használ, mint pl. Route::get(), Cache::put(), stb. Csak egy kicsit kellene átnézni a kódot, hogy mi van az ilyen hívások hátterében és gyorsan kiderül, hogy másról van szó.

A Sentry egy felhasználó autentikációt és jogoultság kezelést megvalósító univerzális package, melyet Laravel 4-es projectünkben is jól használhatunk. Ezeket a műveleteket kiválóan végzi - számos más ACL rendszerrel összehasonlívta, egészen komplex (corporate) alkalmazásainkban is tudjuk használni, több csoportot tudunk létrehozni, melyeknek engedélyeket adhatunk, de felhasználónként is adhatunk jogosultságokat. Kiváló kivételkezelése van a Sentry-nek melyre támaszkodva sokrétű üzeneteket küldhetünk a felhasználónak, nem kell nekünk ezeket külön elkészíteni. Tudjuk a felsználókat tiltólistára tenni, átmenetileg kikapcsolni, belépéseiket naplózni, stb. 

De mi a probléma amivel találkoztam (és más is) a Sentry 2-ben?

Jeffrey Way – a video sorozatok szerzője – ismert személyiség Laravel-es körökben, sőt már 2010 körül is néztem oktató videókat töle Codeigniter témában. Nagyon jó előadó, érthetően, tisztán beszéli az angolt, ami nem elhanyagolható tényező egy nem natívan angolul beszélő ember számára. Ezen túl specialitása, hogy videóiban szereplő példa-programkódot valós időben írja, és azt kommentálja szinte hiba mentesen, youtube-os home-made videókat nézve ez maxmális felüdülés a minőségi anyagokból tanulni vágyó számára. Van aki a könyveket részesíti előnyben tanuláshoz, mások – mint én is – a képi + hang információt gyorsabban el tudják sajátítani, és ebben az "oktatási műfajban" Jeffrey kiváló munkát végez!

Git használatával könnyen és gyorsan tudjuk alkalmazásunkat, vagy új fejlesztéseket telepíteni szerverünkre, elhagyva a régi módszert, amikor még ftp segítségével került fel minden módosítás. Az ftp-s módszer nagy hátránya, hogy tudnunk kellett, melyik fájlokat írtuk át, gyakran kerülhettünk gondba felülírással, elfelejtettük, hogy mi volt már a különbség a main.php, main2.php, main3.php között, stb. Nagy segítségünkre van tehát a git, melyet lehet kevesen tudják a Linux megálmodója Linus Tovalds fejlesztett ki.

A Faker használata előtti időkben amikor létrehoztam egy migrációt, utána a Seeder segítségével manuálisan írtam be adatokat, hogy tudjam a fejlesztés során tesztelni az adott komponenst, például ha egy cikkek megjelenítését végző controller/model párost készítettem, egy többdimenziós tömbbe vittem fel címeket, tartalmi elemeket, dátum értékeket. Mégha a beépített lorem ipsum plugin segített is (Sublime Text) akkor is sok időm ment el ezzel, de már a Faker használatával ezt a tesztadat feltöltési időt radikálisan lecsökkenthetjük.