hello laravel 5!
TRANSCRIPT
![Page 1: Hello Laravel 5!](https://reader033.vdocuments.site/reader033/viewer/2022052623/559fc8521a28abec198b45f0/html5/thumbnails/1.jpg)
Laravel 5laravel.bp 2014. november 5.
![Page 2: Hello Laravel 5!](https://reader033.vdocuments.site/reader033/viewer/2022052623/559fc8521a28abec198b45f0/html5/thumbnails/2.jpg)
Magamról• PHP fejlesztő (backend)
•
• 12 éve készítek weboldalakat
• Laravel evangélista
• Feliratos film lobbista
![Page 3: Hello Laravel 5!](https://reader033.vdocuments.site/reader033/viewer/2022052623/559fc8521a28abec198b45f0/html5/thumbnails/3.jpg)
Az előző rész tartalmából…
http://www.ustream.tv/recorded/41135392/highlight/440209
![Page 4: Hello Laravel 5!](https://reader033.vdocuments.site/reader033/viewer/2022052623/559fc8521a28abec198b45f0/html5/thumbnails/4.jpg)
Szóval jön az 5.0
![Page 5: Hello Laravel 5!](https://reader033.vdocuments.site/reader033/viewer/2022052623/559fc8521a28abec198b45f0/html5/thumbnails/5.jpg)
Laravel 5.0
• Leánykori nevén: Laravel 4.3
• Megjelenés: valamikor novemberben
• Státusz: folyamatosan finomítják
![Page 6: Hello Laravel 5!](https://reader033.vdocuments.site/reader033/viewer/2022052623/559fc8521a28abec198b45f0/html5/thumbnails/6.jpg)
Telepítés
![Page 7: Hello Laravel 5!](https://reader033.vdocuments.site/reader033/viewer/2022052623/559fc8521a28abec198b45f0/html5/thumbnails/7.jpg)
Telepítés
user@localhost: composer create-project laravel/laravel [celkonyvtar] dev-develop
user@localhost: composer update
![Page 8: Hello Laravel 5!](https://reader033.vdocuments.site/reader033/viewer/2022052623/559fc8521a28abec198b45f0/html5/thumbnails/8.jpg)
Újdonságok
![Page 9: Hello Laravel 5!](https://reader033.vdocuments.site/reader033/viewer/2022052623/559fc8521a28abec198b45f0/html5/thumbnails/9.jpg)
ÚjdonságokContracts
Új fájlstruktúra Flysystem
Request réteg Új Artisan parancsok
![Page 10: Hello Laravel 5!](https://reader033.vdocuments.site/reader033/viewer/2022052623/559fc8521a28abec198b45f0/html5/thumbnails/10.jpg)
Contracts
![Page 11: Hello Laravel 5!](https://reader033.vdocuments.site/reader033/viewer/2022052623/559fc8521a28abec198b45f0/html5/thumbnails/11.jpg)
Mik azok a contractok?• Core service interface-ek gyűjteménye
• Minden service-hez az interface-ek alapján van írva egy implementáció
• A Laravel alapvető funkciói könnyen kibővíthetőek
• https://github.com/illuminate/contracts
![Page 12: Hello Laravel 5!](https://reader033.vdocuments.site/reader033/viewer/2022052623/559fc8521a28abec198b45f0/html5/thumbnails/12.jpg)
Példa: Config contract// Config/Repository.phpnamespace Illuminate\Contracts\Config;
interface Repository {
public function has($key);
public function get($key, $default = null);
public function set($key, $value);}
![Page 13: Hello Laravel 5!](https://reader033.vdocuments.site/reader033/viewer/2022052623/559fc8521a28abec198b45f0/html5/thumbnails/13.jpg)
Demó
![Page 14: Hello Laravel 5!](https://reader033.vdocuments.site/reader033/viewer/2022052623/559fc8521a28abec198b45f0/html5/thumbnails/14.jpg)
Új fájlstruktúra
![Page 15: Hello Laravel 5!](https://reader033.vdocuments.site/reader033/viewer/2022052623/559fc8521a28abec198b45f0/html5/thumbnails/15.jpg)
Új fájlstruktúra
![Page 16: Hello Laravel 5!](https://reader033.vdocuments.site/reader033/viewer/2022052623/559fc8521a28abec198b45f0/html5/thumbnails/16.jpg)
Új fájlstruktúraapp Console Http Controllers Filters Requests Providersbootstrapconfigdatabase migrations seeds
publicresources lang viewsstorage cache logs meta sessionsviewswork
![Page 17: Hello Laravel 5!](https://reader033.vdocuments.site/reader033/viewer/2022052623/559fc8521a28abec198b45f0/html5/thumbnails/17.jpg)
• Alapértelmezett alkalmazás namespace (“App”)php artisan app:name SzuperAlkalmazas php artisan app:name SzuperVendor\\SzuperAlkalmazas
• PSR-0 helyett PSR-4 autoloading
• Az app mostantól csak az üzleti logikát tartalmazza
Új fájlstruktúra
![Page 18: Hello Laravel 5!](https://reader033.vdocuments.site/reader033/viewer/2022052623/559fc8521a28abec198b45f0/html5/thumbnails/18.jpg)
Business or domain logic “Part of the program that encodes the
real-world business rules that determine how data can be created,
displayed, stored, and changed”
![Page 19: Hello Laravel 5!](https://reader033.vdocuments.site/reader033/viewer/2022052623/559fc8521a28abec198b45f0/html5/thumbnails/19.jpg)
Háromrétegű architektúra 1. Megjelenítés (View)
2. Üzleti logika (Controller)
3. Perzisztencia (Modell, DB)
![Page 20: Hello Laravel 5!](https://reader033.vdocuments.site/reader033/viewer/2022052623/559fc8521a28abec198b45f0/html5/thumbnails/20.jpg)
App Console (Artisan commandok)
Http (Controllerek, filterek, requestek)
Providers (Service providerek)
![Page 21: Hello Laravel 5!](https://reader033.vdocuments.site/reader033/viewer/2022052623/559fc8521a28abec198b45f0/html5/thumbnails/21.jpg)
Új helyre kerültek View (resources/view)
Lang (resources/lang)
Assets (raw assets, LESS vagy SASS, nem CSS vagy JS)
Config
Tests
![Page 22: Hello Laravel 5!](https://reader033.vdocuments.site/reader033/viewer/2022052623/559fc8521a28abec198b45f0/html5/thumbnails/22.jpg)
Új helyre kerültek Külön fájlokból Class-ok lettek
Előre meghatározható a fájlok végrehajtása, kevesebb procedurális kód, függetlenedés a keretrendszertől.
Service providerek intenzív használata
Events.php -> Providers/EventServiceProvider.phpArtisan.php -> Providers/ArtisanServiceProvider.phpRoutes.php -> Providers/RouteServiceProvider.php
Routes.php új helye: app/Http/routes.php
A route-okat annotációkban is meghatározthatjuk, ezügyben egyelőre megoszlanak a vélemények.
![Page 23: Hello Laravel 5!](https://reader033.vdocuments.site/reader033/viewer/2022052623/559fc8521a28abec198b45f0/html5/thumbnails/23.jpg)
Miért jó az új struktúra? Elsőre ijesztő, jobban megnézve viszont tisztább és
logikusabb. A teljes keretrendszer működését szabályozhatjuk.
![Page 24: Hello Laravel 5!](https://reader033.vdocuments.site/reader033/viewer/2022052623/559fc8521a28abec198b45f0/html5/thumbnails/24.jpg)
A HTML / Form alapból nincs benne, külön le kell tölteni és Service Providerként betölteni a
config/app-ban.
http://github.com/illuminate/html
![Page 25: Hello Laravel 5!](https://reader033.vdocuments.site/reader033/viewer/2022052623/559fc8521a28abec198b45f0/html5/thumbnails/25.jpg)
Flysystem
![Page 26: Hello Laravel 5!](https://reader033.vdocuments.site/reader033/viewer/2022052623/559fc8521a28abec198b45f0/html5/thumbnails/26.jpg)
Flysystem• The League of Extraordinary Packages
• http://thephpleague.com/
• http://flysystem.thephpleague.com/
• Két fájlrendszer: disk és cloud
• Párhuzamosan két fájlrendszert tudunk kezelni, egymástól függetlenül
• Alapból beállítva: Local, S3, Rackspace
• A Flysystem támogatja még: Dropbox, FTP / SFTP, WebDAV, ZipArchive
![Page 27: Hello Laravel 5!](https://reader033.vdocuments.site/reader033/viewer/2022052623/559fc8521a28abec198b45f0/html5/thumbnails/27.jpg)
Flysystem
File::disk('s3') ->put('hello.txt', 'Ez itt egy teszt’);
![Page 28: Hello Laravel 5!](https://reader033.vdocuments.site/reader033/viewer/2022052623/559fc8521a28abec198b45f0/html5/thumbnails/28.jpg)
Flysystem
![Page 29: Hello Laravel 5!](https://reader033.vdocuments.site/reader033/viewer/2022052623/559fc8521a28abec198b45f0/html5/thumbnails/29.jpg)
Request réteg
![Page 30: Hello Laravel 5!](https://reader033.vdocuments.site/reader033/viewer/2022052623/559fc8521a28abec198b45f0/html5/thumbnails/30.jpg)
Demó
![Page 31: Hello Laravel 5!](https://reader033.vdocuments.site/reader033/viewer/2022052623/559fc8521a28abec198b45f0/html5/thumbnails/31.jpg)
Új Artisan parancsok
![Page 32: Hello Laravel 5!](https://reader033.vdocuments.site/reader033/viewer/2022052623/559fc8521a28abec198b45f0/html5/thumbnails/32.jpg)
Make
![Page 33: Hello Laravel 5!](https://reader033.vdocuments.site/reader033/viewer/2022052623/559fc8521a28abec198b45f0/html5/thumbnails/33.jpg)
Route
![Page 34: Hello Laravel 5!](https://reader033.vdocuments.site/reader033/viewer/2022052623/559fc8521a28abec198b45f0/html5/thumbnails/34.jpg)
És ha még nem volna elég…
• Új helperek: get(), view(), redirect()
• Middleware: filterek helyett / mellett, request és response között (http://fideloper.com/laravel-http-middleware)
• Socialite: közösségi authentikáció package az Auth-hoz (https://github.com/laravel/socialite)
![Page 35: Hello Laravel 5!](https://reader033.vdocuments.site/reader033/viewer/2022052623/559fc8521a28abec198b45f0/html5/thumbnails/35.jpg)
Hogyan tovább?
![Page 36: Hello Laravel 5!](https://reader033.vdocuments.site/reader033/viewer/2022052623/559fc8521a28abec198b45f0/html5/thumbnails/36.jpg)
Hogyan tovább?• Dokumentáció: http://laravel.com/docs/master
• Laracasts: http://laracasts.com
• Figyelemmel követni a “develop” branch commitjait
• Tanulmányozni a kódot
• Tanulmányozni a DDD-t (Domain Driven Development)
![Page 37: Hello Laravel 5!](https://reader033.vdocuments.site/reader033/viewer/2022052623/559fc8521a28abec198b45f0/html5/thumbnails/37.jpg)
Twitter: @terdelyi Email: [email protected]
LinkedIn: http://hu.linkedin.com/in/terdelyi
A prezentáció innen letölthető: http://www.slideshare.net/terdelyi