hello laravel 5!

37
Laravel 5 laravel.bp 2014. november 5.

Upload: tamas-erdelyi

Post on 10-Jul-2015

770 views

Category:

Software


3 download

TRANSCRIPT

Page 1: Hello Laravel 5!

Laravel 5laravel.bp 2014. november 5.

Page 2: Hello Laravel 5!

Magamról• PHP fejlesztő (backend)

• 12 éve készítek weboldalakat

• Laravel evangélista

• Feliratos film lobbista

Page 3: Hello Laravel 5!

Az előző rész tartalmából…

http://www.ustream.tv/recorded/41135392/highlight/440209

Page 4: Hello Laravel 5!

Szóval jön az 5.0

Page 5: Hello Laravel 5!

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!

Telepítés

Page 7: Hello Laravel 5!

Telepítés

user@localhost: composer create-project laravel/laravel [celkonyvtar] dev-develop

user@localhost: composer update

Page 8: Hello Laravel 5!

Újdonságok

Page 9: Hello Laravel 5!

ÚjdonságokContracts

Új fájlstruktúra Flysystem

Request réteg Új Artisan parancsok

Page 10: Hello Laravel 5!

Contracts

Page 11: Hello Laravel 5!

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!

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!

Demó

Page 14: Hello Laravel 5!

Új fájlstruktúra

Page 15: Hello Laravel 5!

Új fájlstruktúra

Page 16: Hello Laravel 5!

Új fájlstruktúraapp Console Http Controllers Filters Requests Providersbootstrapconfigdatabase migrations seeds

publicresources lang viewsstorage cache logs meta sessionsviewswork

Page 17: Hello Laravel 5!

• 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!

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!

Háromrétegű architektúra 1. Megjelenítés (View)

2. Üzleti logika (Controller)

3. Perzisztencia (Modell, DB)

Page 20: Hello Laravel 5!

App Console (Artisan commandok)

Http (Controllerek, filterek, requestek)

Providers (Service providerek)

Page 21: Hello Laravel 5!

Ú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!

Ú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!

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!

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!

Flysystem

Page 26: Hello Laravel 5!

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!

Flysystem

File::disk('s3') ->put('hello.txt', 'Ez itt egy teszt’);

Page 28: Hello Laravel 5!

Flysystem

Page 29: Hello Laravel 5!

Request réteg

Page 30: Hello Laravel 5!

Demó

Page 31: Hello Laravel 5!

Új Artisan parancsok

Page 32: Hello Laravel 5!

Make

Page 33: Hello Laravel 5!

Route

Page 34: Hello Laravel 5!

É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!

Hogyan tovább?

Page 36: Hello Laravel 5!

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!

Twitter: @terdelyi Email: [email protected]

LinkedIn: http://hu.linkedin.com/in/terdelyi

A prezentáció innen letölthető: http://www.slideshare.net/terdelyi