hello laravel 5!

Post on 10-Jul-2015

770 Views

Category:

Software

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Laravel 5laravel.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ágokContracts

Ú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.phpnamespace Illuminate\Contracts\Config;

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úraapp Console Http Controllers Filters Requests Providersbootstrapconfigdatabase migrations seeds

publicresources lang viewsstorage cache logs meta sessionsviewswork

• 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

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.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.

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

top related