SlideShare ist ein Scribd-Unternehmen logo
1 von 37
Downloaden Sie, um offline zu lesen
Laravel 5 laravel.bp 2014. november 5.
Magamról 
• PHP fejlesztő (backend) 
• 
• 12 éve készítek weboldalakat 
• Laravel evangélista 
• Feliratos film lobbista
Az előző rész tartalmából… 
http://www.ustream.tv/recorded/41135392/highlight/440209
Szóval jön az 5.0
Laravel 5.0 
• Leánykori nevén: Laravel 4.3 
• Megjelenés: valamikor novemberben 
• Státusz: folyamatosan finomítják
Telepítés
Telepítés 
user@localhost: composer create-project laravel/laravel 
[celkonyvtar] dev-develop 
user@localhost: composer update
Újdonságok
Újdonságok 
Contracts 
Új fájlstruktúra 
Flysystem 
Request réteg 
Új Artisan parancsok
Contracts
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
Példa: Config contract 
// Config/Repository.php 
namespace IlluminateContractsConfig; 
interface Repository { 
public function has($key); 
public function get($key, $default = null); 
public function set($key, $value); 
}
Demó
Új fájlstruktúra
Új fájlstruktúra
Új fájlstruktúra 
app 
Console 
Http 
Controllers 
Filters 
Requests 
Providers 
bootstrap 
config 
database 
migrations 
seeds 
public 
resources 
lang 
views 
storage 
cache 
logs 
meta 
sessions 
views 
work
Új fájlstruktúra 
• Alapértelmezett alkalmazás namespace (“App”) 
php artisan app:name SzuperAlkalmazas 
php artisan app:name 
SzuperVendorSzuperAlkalmazas 
• PSR-0 helyett PSR-4 autoloading 
• Az app mostantól csak az üzleti logikát tartalmazza
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”
Háromrétegű architektúra 
1. Megjelenítés (View) 
2. Üzleti logika (Controller) 
3. Perzisztencia (Modell, DB)
App 
Console (Artisan commandok) 
Http (Controllerek, filterek, requestek) 
Providers (Service providerek)
Új helyre kerültek 
View (resources/view) 
Lang (resources/lang) 
Assets (raw assets, LESS vagy 
SASS, nem CSS vagy JS) 
Config 
Tests
Ú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.php 
Artisan.php -> Providers/ArtisanServiceProvider.php 
Routes.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.
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.
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
Flysystem
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
Flysystem 
File::disk('s3') 
->put('hello.txt', 'Ez itt egy teszt’);
Flysystem
Request réteg
Demó
Új Artisan parancsok
Make
Route
É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)
Hogyan tovább?
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)
Twitter: @terdelyi 
Email: laravel@terdelyi.com 
LinkedIn: http://hu.linkedin.com/in/terdelyi 
A prezentáció innen letölthető: 
http://www.slideshare.net/terdelyi

Weitere ähnliche Inhalte

Ähnlich wie Hello Laravel 5!

Webműves Kelemen tanácsai, avagy mi kell a PHP falába?
Webműves Kelemen tanácsai, avagy mi kell a PHP falába?Webműves Kelemen tanácsai, avagy mi kell a PHP falába?
Webműves Kelemen tanácsai, avagy mi kell a PHP falába?Open Academy
 
Life and Death of Apache Maven (HU)
Life and Death of Apache Maven (HU)Life and Death of Apache Maven (HU)
Life and Death of Apache Maven (HU)Tamas Cservenak
 
Cgi röviden ajmar
Cgi röviden ajmarCgi röviden ajmar
Cgi röviden ajmarbonami2014
 
Flash és PHP Kommunikáció
Flash és PHP KommunikációFlash és PHP Kommunikáció
Flash és PHP Kommunikációtlof
 
Mi a baj a Drupaloddal
Mi a baj a DrupaloddalMi a baj a Drupaloddal
Mi a baj a Drupaloddalthesnufkin
 
Webalkalmazások teljesítményoptimalizálása
Webalkalmazások teljesítményoptimalizálásaWebalkalmazások teljesítményoptimalizálása
Webalkalmazások teljesítményoptimalizálásaFerenc Kovács
 
Laravel4 - Jövő a jelenben
Laravel4 - Jövő a jelenbenLaravel4 - Jövő a jelenben
Laravel4 - Jövő a jelenbenBorsos Zoltán
 
IIS 7.5 webszerver újdonságok
IIS 7.5 webszerver újdonságokIIS 7.5 webszerver újdonságok
IIS 7.5 webszerver újdonságokGyörgy Balássy
 
Pihi CouchDB-vel és RelaxDB-vel
Pihi CouchDB-vel és RelaxDB-velPihi CouchDB-vel és RelaxDB-vel
Pihi CouchDB-vel és RelaxDB-velBalint Erdi
 
Windows Szerver kiadások.
Windows Szerver kiadások.Windows Szerver kiadások.
Windows Szerver kiadások.Attila Nagy
 
Operációs rendszer
Operációs rendszerOperációs rendszer
Operációs rendszerrma96
 
Operációs rendszerek belső architektúrája
Operációs rendszerek belső architektúrájaOperációs rendszerek belső architektúrája
Operációs rendszerek belső architektúrájarma96
 
LESS, mint css preprocessor
LESS, mint css preprocessorLESS, mint css preprocessor
LESS, mint css preprocessorLevente Kiraly
 
Átállás joomla 2.5 joomla 3.3
Átállás joomla 2.5   joomla 3.3Átállás joomla 2.5   joomla 3.3
Átállás joomla 2.5 joomla 3.3Tamas Rigo
 
Fejlesztési kihívások a pénzügyi szektorban
Fejlesztési kihívások a pénzügyi szektorbanFejlesztési kihívások a pénzügyi szektorban
Fejlesztési kihívások a pénzügyi szektorbanPal Vojacsek
 

Ähnlich wie Hello Laravel 5! (20)

Webműves Kelemen tanácsai, avagy mi kell a PHP falába?
Webműves Kelemen tanácsai, avagy mi kell a PHP falába?Webműves Kelemen tanácsai, avagy mi kell a PHP falába?
Webműves Kelemen tanácsai, avagy mi kell a PHP falába?
 
Life and Death of Apache Maven (HU)
Life and Death of Apache Maven (HU)Life and Death of Apache Maven (HU)
Life and Death of Apache Maven (HU)
 
Cgi röviden ajmar
Cgi röviden ajmarCgi röviden ajmar
Cgi röviden ajmar
 
Flash és PHP Kommunikáció
Flash és PHP KommunikációFlash és PHP Kommunikáció
Flash és PHP Kommunikáció
 
Chef
ChefChef
Chef
 
Fordítási alapok
Fordítási alapokFordítási alapok
Fordítási alapok
 
Standardize it!
Standardize it!Standardize it!
Standardize it!
 
Mi a baj a Drupaloddal
Mi a baj a DrupaloddalMi a baj a Drupaloddal
Mi a baj a Drupaloddal
 
Xampp.pptx
Xampp.pptxXampp.pptx
Xampp.pptx
 
Webalkalmazások teljesítményoptimalizálása
Webalkalmazások teljesítményoptimalizálásaWebalkalmazások teljesítményoptimalizálása
Webalkalmazások teljesítményoptimalizálása
 
Laravel4 - Jövő a jelenben
Laravel4 - Jövő a jelenbenLaravel4 - Jövő a jelenben
Laravel4 - Jövő a jelenben
 
IIS 7.5 webszerver újdonságok
IIS 7.5 webszerver újdonságokIIS 7.5 webszerver újdonságok
IIS 7.5 webszerver újdonságok
 
Webkonf 2013
Webkonf 2013Webkonf 2013
Webkonf 2013
 
Pihi CouchDB-vel és RelaxDB-vel
Pihi CouchDB-vel és RelaxDB-velPihi CouchDB-vel és RelaxDB-vel
Pihi CouchDB-vel és RelaxDB-vel
 
Windows Szerver kiadások.
Windows Szerver kiadások.Windows Szerver kiadások.
Windows Szerver kiadások.
 
Operációs rendszer
Operációs rendszerOperációs rendszer
Operációs rendszer
 
Operációs rendszerek belső architektúrája
Operációs rendszerek belső architektúrájaOperációs rendszerek belső architektúrája
Operációs rendszerek belső architektúrája
 
LESS, mint css preprocessor
LESS, mint css preprocessorLESS, mint css preprocessor
LESS, mint css preprocessor
 
Átállás joomla 2.5 joomla 3.3
Átállás joomla 2.5   joomla 3.3Átállás joomla 2.5   joomla 3.3
Átállás joomla 2.5 joomla 3.3
 
Fejlesztési kihívások a pénzügyi szektorban
Fejlesztési kihívások a pénzügyi szektorbanFejlesztési kihívások a pénzügyi szektorban
Fejlesztési kihívások a pénzügyi szektorban
 

Hello Laravel 5!

  • 1. Laravel 5 laravel.bp 2014. november 5.
  • 2. Magamról • PHP fejlesztő (backend) • • 12 éve készítek weboldalakat • Laravel evangélista • Feliratos film lobbista
  • 3. Az előző rész tartalmából… http://www.ustream.tv/recorded/41135392/highlight/440209
  • 5. Laravel 5.0 • Leánykori nevén: Laravel 4.3 • Megjelenés: valamikor novemberben • Státusz: folyamatosan finomítják
  • 7. Telepítés user@localhost: composer create-project laravel/laravel [celkonyvtar] dev-develop user@localhost: composer update
  • 9. Újdonságok Contracts Új fájlstruktúra Flysystem Request réteg Új Artisan parancsok
  • 11. 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
  • 12. Példa: Config contract // Config/Repository.php namespace IlluminateContractsConfig; interface Repository { public function has($key); public function get($key, $default = null); public function set($key, $value); }
  • 13. Demó
  • 16. Új fájlstruktúra app Console Http Controllers Filters Requests Providers bootstrap config database migrations seeds public resources lang views storage cache logs meta sessions views work
  • 17. Új fájlstruktúra • Alapértelmezett alkalmazás namespace (“App”) php artisan app:name SzuperAlkalmazas php artisan app:name SzuperVendorSzuperAlkalmazas • PSR-0 helyett PSR-4 autoloading • Az app mostantól csak az üzleti logikát tartalmazza
  • 18. 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”
  • 19. Háromrétegű architektúra 1. Megjelenítés (View) 2. Üzleti logika (Controller) 3. Perzisztencia (Modell, DB)
  • 20. App Console (Artisan commandok) Http (Controllerek, filterek, requestek) Providers (Service providerek)
  • 21. Új helyre kerültek View (resources/view) Lang (resources/lang) Assets (raw assets, LESS vagy SASS, nem CSS vagy JS) Config Tests
  • 22. Ú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.php Artisan.php -> Providers/ArtisanServiceProvider.php Routes.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.
  • 23. 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.
  • 24. 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
  • 26. 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
  • 30. Demó
  • 32. Make
  • 33. Route
  • 34. É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)
  • 36. 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)
  • 37. Twitter: @terdelyi Email: laravel@terdelyi.com LinkedIn: http://hu.linkedin.com/in/terdelyi A prezentáció innen letölthető: http://www.slideshare.net/terdelyi