category: laravel

13May

Logfájlok pokla 2. - MDC keretrendszer alatt

Az előző cikkben arról volt szó, hogy is tudjuk elszeparálni az egyes logbejegyzéseket az apache loggerével. Mint kiderült, van hasonló funkcionalitás a monologban is, csak ott még nem volt ekkora ráhatása Martin Fowlernek és társainak, mert nem MDC néven, hanem processor néven tudunk belenyúlni és plusz információkkal kiegészíteni az egyes bejegyzéseket. Első körben a Laravelt fogjuk megvizsgálni ezen szempontból, mégpedig az 5.4-es verzióját.

Tovább »

06Feb

Laravel dockerben

A korábbiakban már láthattuk, hogy is tudunk apache alapú webszervert futtatni, azonban akadnak esetek, főleg ha a Laravel eszközkészletét vesszük figyelembe, mikor egy szimpla webszervernél több kell, vegyük csak a workereket, scheduled jobokat. A docker alapvetően egy process-t (és azokat, amiket az spawnolt) tud futtatni és addig tart egy konténer futása, amíg a process tart, ennélfogva fontos, hogy az úgymond foreground fusson, tehát ne daemonként. Most nézzük meg, hogy is hívhatjuk segítségül a supervisord-t és indítsunk konténert cronnal workerekkel és futó apache-al! 

Tovább »

31Dec

PHP Docker mögé bújva

Ígértem korábban a Passportos verzióját a REST API-nk authentikációjához és ennek az első lépése az, hogy 5.3-as Laravel kell hozzá, ahol bele is futottam a hibába, miszerint lokálisan csak 5.6.3-as PHP-m volt, neki pedig 5.6.4-es kellett volna. Persze mi sem egyszerűbb egy lokális környezetnél, updateljük és ennyi. Sajnos production környezetben nem így szokott mindez történni, no meg jó lenne, ha már a 7-est használnánk, így gondoltam mixelem a kellemest a hasznossal és megnézem mennyire bonyolult bepakolni ezeket dockerbe, úgy hogy működjenek is. A példák, habár Laravel alapúak, a legtöbb PHP keretrendszerre igazak lesznek, ahol a Document Root a public mappára mutat.

Tovább »

16May

Az oktrojátor pattern és az IoC container

Az objektumorientált programnyelvekben értelemszerűen objektumokkal dolgozunk. Apróbb programok esetén, mikor nem használunk erre kitalált keretrendszert, az objektumpéldányaink menedzselése ránkmarad. Ahhoz, hogy a kódunk moduláris és tesztelhető legyen, az objektumaink függőségeit be kell "oktrojáljuk" a egymásba. Akinek a dependency injection nem tiszta, annak itt ez a cikk, mert szükség lesz rá a későbbiekben. Ez az egymásba pakolászás egy idő után eléggé komplex lehet, ezért egyes keretrendszerek, így a Laravel vagy Java nyelvben a Spring erre a célra rendelkezik egy ún. IoC containerrel. Ezekről lesz a cikkben szó.145cs1

Tovább »

24Apr

Laravelre át

Az elkövetkező pár napban lehetnek az oldalon furcsaságok, mivel végre megszabadulunk a wordpress legtöbb kötöttségétől. Laravelre állt át az oldal, egy korábbi cikk alapján viszon az adminfelület marad wordpress alapon. Feleslegesnek tartom, hogy egy jól működő szerkesztő, stb. felülettől megváljak, ráadásul a migráció így sokkalta gyorsabb. Akit érdekel, annak mesélhetek a megvalósítás részleteiről. Hogy miért is tesszük mindezt? A dolog roppant egyszerű. Az oldalra új funkciókat szeretnék bevezetni, amik nem éppen wordpress kompatibilisek, hanem egyedi fejlesztést igényelnek. Ezek szép lassan jönnek be, az első egy szimpla social login lesz.. és hogy miért éri meg bejelentkezni? Az majd kiderül akkor! :) Ha valami hibát tapasztalnátok, akkor azt itt jelezhetitek!

07Feb

Partizánkodás 3 - Tele a puttonyt!

Az előző részben elkezdtük csinálni a saját kis composer package-ünket, ami egyelőre még elég szegényes funkcionalitással bír. Most nem ártana telepakolni azokkal a bizonyos tutiságokkal és ha ezekkel végeztünk, elkezdhetünk pár tesztet is ráengedni. Ha mindezen csomagon többen dolgozunk és folyamatos javításokat is eszközölünk rajta, akkor nem árt bekötni egy CI-be, ahol miután összeintegráltuk a változásokat (ez lesz majd a "nightly build"), az általunk (és mások) által írt teszteket végigeresztjük rajta és csak azok sikeressége esetén fogjuk megveregetni a saját vállunkat. Hogyha mégjobban figyelni akarunk a kódminőségre, akkor bekötünk mellé egy SonarQube-ot is, amivel a stílushibákat tudjuk kiküszöbölni.

mega

Aki miatt csecsre fut a build, az meglakol!

Tovább »

17Jan

Partizánkodás 2 - Csomagolástechnika

Amikor az ember fejlesztésbe kezd, és eljut arra a pontra, hogy egy kódrészletet átmásol A helyről B-be, akkor a józan ész azt diktálja, hogy bizony ezt lehetne szebben is csinálni. Azt a részt, amit átmásoltunk, kívülről konfigurálhatóvá tehetnénk, és újrahasznosíthatnánk a B helyen, ezzel megspórolva X sornyi kódot. Ebből születnek a függvények, amikből aztán osztályok lesznek és végül megszületik az első saját kis függvénykönyvtárunk. Ezeknek a függvénykönyvtáraknak a menedzselésére szolgál a a composer, amiről már korábban is írtam. Ehhez fogunk most magunknak egy csomagot készíteni, a saját kis repositorynk egyikében, lecsekkoljuk, hogy működik-e és ha igen, akkor nekilátunk összerakni a laravelhez illeszthető csomagunkat, amivel a saját kis admin felületünket legeneráljuk. Ha ez kész, ennek mintájára több felülethez is készíthetünk ilyen generátor könyvtárat.Package-0

Tovább »

11Jan

Partizánkodjunk a laravel 5-el!

Ismert a mondás, miszerint amit automatizálni lehet, azt automatizálni is kell. Nincs ez máshogy a programozásban sem, sőt itt kellene kiélni mindezt. Bizonyára mindenki szeret kódolni, jó érzés gőzerővel verni a hackertypertbillentyűzetet, mert ilyenkor ha ránknéz a főnök, akkor valóban elhiszi, hogy dolgozunk, nem úgy mikor fejvakarás közepette görgetünk lefelé a Stackoverflow-n.wvgpy Viszont amit gőzerővel tudunk gépelni, az legtöbbször azért van, mert már a kisujjunkban van az, amit gépelni kell. Ha pedig így van, akkor miért ne adnánk át a tudásunkat egy hozzánk közel állónak, aki történetesen egy program? A Laravel 5 parancssori túlja toolja, a partizán elég sok beépített paranccsal érkezik, amik legtöbbje megkíméli nekünk a hasonló kulimunkát, különböző generátor scriptek által. Pillnyalatok alatt legenerálhatunk controllereket, modelleket, adatbázis sémát, migrálhatunk és még sok másra jó mindez. Cikkünkből megtudhatod, hogy is bővíthetjük azt, hogy az alkalmazásunk frissebb, lágyabb, összességében pedig szárazabb érzést nyújtson.

Tovább »

01Nov

Laravel 5.0 - Request és Response

Az előző részekben átvettük hogy is épül fel egy átlagos laravel alkalmazás könyvtárstruktúrája, hogy lehet route-okat definiálni, valamint szóba kerültek a controllerek és middleware-ek. Mivel többségében ezeket az alkalmazásokat webre tervezzük és használjuk, ezért most térjünk kicsit vissza a protokoll alapjaihoz. Amikor a böngészőbe bepötyögünk egy URL-t és rátalál a böngészőnk a megfelelő IP-re, akkor egy HTTP requestet küld el a szervernek, amit az feldolgozva egy HTTP response-al "jutalmaz". Ugye ezeknek a requesteknek van headerje és body-ja, (ahogy ez a response-ra is igaz) POST, GET paraméterek, stb. A response-nak statuscode, statusmessage, body, header, stb. Ezt a request-response dolgot megvalósítja a laravel is, mégpedig objektumok mentén. Tehát amikor befut a kérés a controllerünk adott metódusába, akkor a service containerünkben már ott csücsül egy az aktuális bejövő kérés adataival feltöltött Request objektum.

Tovább »

25Aug

Controller és middleware a két jóbarát

Most, hogy a routingot tisztába tettük, nézzünk egy kicsit bele abba, hogy azokat a route-okat, amiket belőttünk miféle controllerekbe tudjuk belevezetni? Hiszen nem gondolhatjuk komolyan, hogy a kérések kezelésének logikáját a routes.php-ban írjuk meg, nemde? Főleg, hogy az MVC-ben ez lenne a controllerek dolga. Ezek általánosan az app/Http/Controllers mappába kerülnek.Xbox-360-S-Controller

Tovább »

17Aug

Nyelvtani alapok.. Lara-val..Laravel

laravel-for-web-artisans-1-638Igen, eljutottunk ide is, mainstream keretrendszerekről is írok. Múltkor felmerült a kérdés a Zendes cikkem kapcsán, hogy miért pont Zend? Nos, habár sem magyar, sem világ viszonylatban nem egy elterjedt keretrendszerről van szó, a magyar nyelvű leírások száma igencsak csekély, az angol nyelvűek pedig nem feltétlenül írják le, hogy miért és hogyan, hanem csak copy pastere szánt kódokat kínálnak fel. (ellenben aki olvasta a szolid 1300 oldalas official doksit, annak respect és tisztelet) Na de mielőtt lázadást szítanék, amiért eltértem a témától, beszéljünk egy kicsit a laravelről.

Tovább »

2014-2018 © Letscode.hu. Minden jog fenntartva. Build verzió: