IPC14: Zend Framework 3 - Viva la evolución!

70
Zend Framework 3 Zend Framework 3 Viva la evolución! Viva la evolución! 1 / 70

description

Das Zend Framework 2 war eine Revolution, bei der kein Auge trocken blieb. Für das kommende Zend Framework 3 ist keine Revolution zu erwarten, und das ist auch gut so. Statt fast alles über den Haufen zu werfen, wird das ZF3 ein evolutionäres Update mit dem Hauptaugenmerk auf Geschwindigkeit, Konsistenz und Nutzbarkeit sein. In diesem Vortrag erfahren Sie unter anderem, wie das Routing einfacher und schneller wird, was sich alles beim ServiceManager ändert und welche spannenden Neuerungen noch auf Sie warten.

Transcript of IPC14: Zend Framework 3 - Viva la evolución!

Page 1: IPC14: Zend Framework 3 - Viva la evolución!

Zend Framework 3Zend Framework 3Viva la evolución!Viva la evolución!

1 / 70

Page 2: IPC14: Zend Framework 3 - Viva la evolución!

Über michÜber mich

2 / 70www.RalfEggert.dewww.RalfEggert.de

Page 3: IPC14: Zend Framework 3 - Viva la evolución!

[B00]

PrologProlog3 / 70

Page 4: IPC14: Zend Framework 3 - Viva la evolución!

[B01]

4 / 70

Wann?Wann?

ZF3?ZF3?

Page 5: IPC14: Zend Framework 3 - Viva la evolución!

[B02]

5 / 70

ZF3?ZF3?

Warum?Warum?

Page 6: IPC14: Zend Framework 3 - Viva la evolución!

[B03]

66 / / 7070

ZF3?ZF3?

Was?Was?

Page 7: IPC14: Zend Framework 3 - Viva la evolución!

[B05]

ZF1ZF17 / 70

Page 8: IPC14: Zend Framework 3 - Viva la evolución!

Zend Framework 0.1.1

8 / 70

ZF Version ........................... 0.1.1

Erschienen ............... 03.03.2006

PHP Version ........................ 5.0.4

Komponenten gesamt ........... 16

Komponenten neu .................. 16

Komponenten entfallen ......... 0

Library ZIP Größe ......... 274 KB

SteckbriefSteckbrief

[B00]

Page 9: IPC14: Zend Framework 3 - Viva la evolución!

Version 0.1.1Version 0.1.1

9 / 70

ZENDZEND Zend_ControllerZend_Controller ZEND_DBZEND_DB ZEND_FEEDZEND_FEED

ZEND_FILTERZEND_FILTER Zend_HTTPCLIENTZend_HTTPCLIENT ZEND_INPUTFILTERZEND_INPUTFILTER ZEND_JSONZEND_JSON

ZEND_LOGZEND_LOG Zend_MAILZend_MAIL ZEND_MIMEZEND_MIME ZEND_PDFZEND_PDF

ZEND_SERVICEZEND_SERVICE Zend_URIZend_URI ZEND_VIEWZEND_VIEW ZEND_XMLRPCZEND_XMLRPC

Neue KomponentenNeue Komponenten

Page 10: IPC14: Zend Framework 3 - Viva la evolución!

Zend Framework 1.0.0

10 / 70

ZF Version ........................... 1.0.0

Erschienen ............... 30.06.2007

PHP Version ........................ 5.1.4

Komponenten gesamt ........... 36

Komponenten neu .................. 22

Komponenten entfallen ......... 3

Library ZIP Größe .......... 2,2 MB

SteckbriefSteckbrief

[B00]

Page 11: IPC14: Zend Framework 3 - Viva la evolución!

Version 1.0.0Version 1.0.0

11 / 70

Zend_ACLZend_ACL Zend_AUTHZend_AUTH ZEND_CACHEZEND_CACHE ZEND_CONFIGZEND_CONFIG

ZEND_CONSOLEZEND_CONSOLE Zend_DATEZend_DATE Zend_DEbugZend_DEbug ZEND_GdataZEND_Gdata

ZEND_HTTPZEND_HTTPclientclient Zend_LoaderZend_Loader ZEND_LOCALEZEND_LOCALE Zend_MEASUREZend_MEASURE

ZEND_MEMORYZEND_MEMORY ZEND_REGISTRYZEND_REGISTRY ZEND_REQUESTZEND_REQUEST ZEND_RESTZEND_REST

Zend_SEARCHZend_SEARCH ZEND_SERVERZEND_SERVER ZEND_SessionZEND_Session ZEND_TRANSLateZEND_TRANSLate

Zend_VALIDATEZend_VALIDATE ZEND_VERSIONZEND_VERSION

Neue KomponentenNeue Komponenten

Page 12: IPC14: Zend Framework 3 - Viva la evolución!

Zend Framework 1.10.0

12 / 70

ZF Version ......................... 1.10.0

Erschienen ............... 27.01.2010

PHP Version ........................ 5.2.4

Komponenten gesamt ........... 61

Komponenten neu .................. 30

Komponenten entfallen ......... 5

Library ZIP Größe .......... 5,4 MB

SteckbriefSteckbrief

[B00]

Page 13: IPC14: Zend Framework 3 - Viva la evolución!

Version 1.10.0Version 1.10.0

13 / 70

Zend_AMFZend_AMF Zend_APPLICATIONZend_APPLICATION ZEND_BARCODEZEND_BARCODE ZEND_CAPTCHAZEND_CAPTCHA

ZEND_CODEgeneratorZEND_CODEgenerator Zend_cryptZend_crypt Zend_currencyZend_currency ZEND_DOJOZEND_DOJO

ZEND_DOMZEND_DOM Zend_FILEZend_FILE ZEND_FORMZEND_FORM Zend_INFOCARDZend_INFOCARD

ZEND_LAYOUTZEND_LAYOUT ZEND_LDAPZEND_LDAP ZEND_MARKUPZEND_MARKUP ZEND_NAVIGATIONZEND_NAVIGATION

Zend_OAUTHZend_OAUTH ZEND_OPENIDZEND_OPENID ZEND_PaginatorZEND_Paginator ZEND_PROGRESSBARZEND_PROGRESSBAR

ZEND_QUEUEZEND_QUEUE Zend_REFLECTIONZend_REFLECTION ZEND_SERIALIZERZEND_SERIALIZER ZEND_SOAPZEND_SOAP

ZEND_TAGZEND_TAG Zend_TESTZend_TEST ZEND_TEXTZEND_TEXT ZEND_TIMESYNCZEND_TIMESYNC

Zend_TOOLZend_TOOL ZEND_WILDFIREZEND_WILDFIRE

Neue KomponentenNeue Komponenten

Page 14: IPC14: Zend Framework 3 - Viva la evolución!

Zend Framework 1.12.9

14 / 70

ZF Version ......................... 1.12.9

Erschienen ............... 17.09.2014

PHP Version ...................... 5.2.11

Komponenten gesamt ........... 65

Komponenten neu .................... 5

Komponenten entfallen ......... 1

Library ZIP Größe ........ 10,3 MB

SteckbriefSteckbrief

[B00]

Page 15: IPC14: Zend Framework 3 - Viva la evolución!

Version 1.12.9Version 1.12.9

15 / 70

Zend_CLOUDZend_CLOUD

ZEND_EVENTMANAGERZEND_EVENTMANAGER

ZEND_MOBILEZEND_MOBILE

ZEND_STDLIBZEND_STDLIB

ZEND_XMLZEND_XML

Neue KomponentenNeue Komponenten

Page 16: IPC14: Zend Framework 3 - Viva la evolución!

ZF1 KritikZF1 Kritik

16 / 70PHP VersionPHP Version

Page 17: IPC14: Zend Framework 3 - Viva la evolución!

ZF1 KritikZF1 Kritik

17 / 70FeaturitisFeaturitis

[B06]

Page 18: IPC14: Zend Framework 3 - Viva la evolución!

ZF1 KritikZF1 Kritik

18 / 70DateiumfangDateiumfang

[B07]

Page 19: IPC14: Zend Framework 3 - Viva la evolución!

ZF1 KritikZF1 Kritik

19 / 70PerformancePerformance

[B08]

Page 20: IPC14: Zend Framework 3 - Viva la evolución!

ZF1 KritikZF1 Kritik

2020 / / 7070LernkurveLernkurve

[B09]

Page 21: IPC14: Zend Framework 3 - Viva la evolución!

ZF1 KritikZF1 Kritik

21 / 70DokumentationDokumentation

[B10]

Page 22: IPC14: Zend Framework 3 - Viva la evolución!

[B00]

ZF2ZF222 / 70

Page 23: IPC14: Zend Framework 3 - Viva la evolución!

ZF2 FOkUSZF2 FOkUS

2323 / / 7070ModularitätModularität

[B11]

Page 24: IPC14: Zend Framework 3 - Viva la evolución!

ZF2 FOkUSZF2 FOkUS

24 / 70FlexibilitätFlexibilität

[B12]

Page 25: IPC14: Zend Framework 3 - Viva la evolución!

ZF2 FOkUSZF2 FOkUS

25 / 70TestbarkeitTestbarkeit

[B13]

Page 26: IPC14: Zend Framework 3 - Viva la evolución!

ZF2 FOkUSZF2 FOkUS

26 / 70PerformancePerformance

[B14]

Page 27: IPC14: Zend Framework 3 - Viva la evolución!

ZF2 FOkUSZF2 FOkUS

27 / 70LernkurveLernkurve

[B15]

Page 28: IPC14: Zend Framework 3 - Viva la evolución!

ZF2 FOkUSZF2 FOkUS

28 / 70MigrationMigration

[B16]

Page 29: IPC14: Zend Framework 3 - Viva la evolución!

Zend Framework 2.0.0

29 / 70

ZF Version ........................... 2.0.0

Erschienen ............... 04.09.2012

PHP Version ........................ 5.3.3

Komponenten gesamt ........... 48

Komponenten neu .................... 7

Komponenten entfallen ...... 24

Library ZIP Größe .......... 2,2 MB

SteckbriefSteckbrief

[B00]

Page 30: IPC14: Zend Framework 3 - Viva la evolución!

Version 2.0.0Version 2.0.0

30 / 70

Zend\AUTHENTICATIONZend\AUTHENTICATION Zend\BarcodeZend\Barcode ZEND\CACHEZEND\CACHE ZEND\CAPTCHAZEND\CAPTCHA

ZEND\CODEZEND\CODE Zend\CONFIGZend\CONFIG Zend\CONSOLEZend\CONSOLE ZEND\CRYPTZEND\CRYPT

ZEND\DBZEND\DB Zend\DEBUGZend\DEBUG ZEND\DIZEND\DI Zend\DOMZend\DOM

ZEND\ESCAPERZEND\ESCAPER ZEND\EVENTMANAGERZEND\EVENTMANAGER ZEND\FEEDZEND\FEED ZEND\FILEZEND\FILE

Zend\FILTERZend\FILTER ZEND\FORMZEND\FORM ZEND\HTTPZEND\HTTP ZEND\I18NZEND\I18N

ZEND\INPUTFILTERZEND\INPUTFILTER Zend\JSONZend\JSON ZEND\LDAPZEND\LDAP ZEND\LOADERZEND\LOADER

Komponenten IKomponenten I

Page 31: IPC14: Zend Framework 3 - Viva la evolución!

Version 2.0.0Version 2.0.0

31 / 70

Zend\LOGZend\LOG Zend\MAILZend\MAIL ZEND\MATHZEND\MATH ZEND\MEMORYZEND\MEMORY

ZEND\MIMEZEND\MIME Zend\MODULEMANAGERZend\MODULEMANAGER Zend\MVCZend\MVC ZEND\NAVIGATIONZEND\NAVIGATION

ZEND\PAGINATORZEND\PAGINATOR Zend\PERMISSIONSZend\PERMISSIONS ZEND\progressbarZEND\progressbar Zend\serializerZend\serializer

ZEND\serverZEND\server ZEND\serviceMANAGERZEND\serviceMANAGER ZEND\SessionZEND\Session ZEND\SOAPZEND\SOAP

Zend\STDLIBZend\STDLIB ZEND\TAGZEND\TAG ZEND\TEXTZEND\TEXT ZEND\URIZEND\URI

ZEND\VALIDATORZEND\VALIDATOR Zend\VERSIONZend\VERSION ZEND\VIEWZEND\VIEW ZEND\XMLRPCZEND\XMLRPC

Komponenten IIKomponenten II

Page 32: IPC14: Zend Framework 3 - Viva la evolución!

Zend Framework 2.3.3

32 / 70

ZF Version ........................... 2.3.3

Erschienen ............... 17.09.2014

PHP Version ...................... 5.3.23

Komponenten gesamt ........... 49

Komponenten neu .................... 1

Komponenten entfallen ......... 0

Library ZIP Größe .......... 2,7 MB

SteckbriefSteckbrief

[B00]

Page 33: IPC14: Zend Framework 3 - Viva la evolución!

Version 2.3.3Version 2.3.3

33 / 70

Zend\TestZend\Test

»Neue« Komponenten»Neue« Komponenten

Page 34: IPC14: Zend Framework 3 - Viva la evolución!

ZF2 VorteileZF2 Vorteile

3434 / / 7070ModularitätModularität

[B11]

Page 35: IPC14: Zend Framework 3 - Viva la evolución!

ZF2 VorteileZF2 Vorteile

35 / 70FlexibilitätFlexibilität

[B12]

Page 36: IPC14: Zend Framework 3 - Viva la evolución!

ZF2 VorteileZF2 Vorteile

36 / 70TestbarkeitTestbarkeit

[B13]

Page 37: IPC14: Zend Framework 3 - Viva la evolución!

ZF2 VorteileZF2 Vorteile

37 / 70Service-LocatorService-Locator

[B17]

Page 38: IPC14: Zend Framework 3 - Viva la evolución!

ZF2 VorteileZF2 Vorteile

38 / 70PAckagesPAckages

[B18]

Page 39: IPC14: Zend Framework 3 - Viva la evolución!

ZF2 VorteileZF2 Vorteile

39 / 70Event-ManagerEvent-Manager

[B19]

Page 40: IPC14: Zend Framework 3 - Viva la evolución!

40 / 70

[B20]

Zend Framework 2?Zend Framework 2?

¡Viva la¡Viva laRevolución!Revolución!

Page 41: IPC14: Zend Framework 3 - Viva la evolución!

ZF2 KRITIKZF2 KRITIK

41 / 70PHP VersionPHP Version

Page 42: IPC14: Zend Framework 3 - Viva la evolución!

ZF2 KRITIKZF2 KRITIK

42 / 70KonfigurationKonfiguration

[B21]

Page 43: IPC14: Zend Framework 3 - Viva la evolución!

ZF2 KRITIKZF2 KRITIK

43 / 70KopplungKopplung

[B22]

Page 44: IPC14: Zend Framework 3 - Viva la evolución!

ZF2 KRITIKZF2 KRITIK

4444 / / 7070PerformancePerformance

[B23]

Page 45: IPC14: Zend Framework 3 - Viva la evolución!

ZF2 KRITIKZF2 KRITIK

4545 / / 7070LernkurveLernkurve

[B24]

Page 46: IPC14: Zend Framework 3 - Viva la evolución!

ZF2 KRITIKZF2 KRITIK

4646 / / 7070MigrationMigration

[B25]

Page 47: IPC14: Zend Framework 3 - Viva la evolución!

[B26]

ZF3ZF347 / 70

Page 48: IPC14: Zend Framework 3 - Viva la evolución!

48 / 70

[B27]

ZF3?ZF3?

QuoQuovadis?vadis?

Page 49: IPC14: Zend Framework 3 - Viva la evolución!

ZF3 FokusZF3 Fokus

4949 / / 7070Lose KopplungLose Kopplung

[B28]

Page 50: IPC14: Zend Framework 3 - Viva la evolución!

ZF3 FokusZF3 Fokus

5050 / / 7070KonfigurationKonfiguration

[B00]

Page 51: IPC14: Zend Framework 3 - Viva la evolución!

ZF3 FokusZF3 Fokus

5151 / / 7070BC BreaksBC Breaks

[B29][B29]

Page 52: IPC14: Zend Framework 3 - Viva la evolución!

ZF3 FOkUSZF3 FOkUS

52 / 70PerformancePerformance

[B14]

Page 53: IPC14: Zend Framework 3 - Viva la evolución!

ZF3 FOkUSZF3 FOkUS

53 / 70LernkurveLernkurve

[B15]

Page 54: IPC14: Zend Framework 3 - Viva la evolución!

ZF3 FOkUSZF3 FOkUS

54 / 70MigrationMigration

[B00]

Page 55: IPC14: Zend Framework 3 - Viva la evolución!

Zend Framework 3.0.0

55 / 70

ZF Version ........................... 3.0.0

Erscheint .................. ??.??.2015

PHP Version ............. 5.4.? / 5.5.?

Komponenten gesamt .............. ?

Komponenten neu .................... ?

Komponenten entfallen ......... ?

Library ZIP Größe ............. ? MB

SteckbriefSteckbrief

[B00]

Page 56: IPC14: Zend Framework 3 - Viva la evolución!

Neuerungen im ZF3Neuerungen im ZF3

56 / 70

AllgemeinAllgemein Daten inputDaten input

MVC & GedönsMVC & GedönsDiverse ManagerDiverse Manager

AllgemeinAllgemein

Page 57: IPC14: Zend Framework 3 - Viva la evolución!

AllgemeinAllgemein

57 / 70

Stateless Stateless ApplicationApplication

Komponenten Komponenten als Moduleals Module

Data Data TransformerTransformer

Zend\HydratorZend\HydratorZend\LoaderZend\Loader => Composer=> Composer

Short ArraysShort Arrays

[L01][L01] [L02][L02] [L03][L03]

[L04][L04] [L05][L05] [L06][L06]

Page 58: IPC14: Zend Framework 3 - Viva la evolución!

Daten InputDaten Input

58 / 70

Filter Filter AufräumenAufräumen

Stateless Stateless ValidatorValidator

Stateless Stateless InputCollectionInputCollection

Formular Formular KomplexitätKomplexität

Formular Formular PerformancePerformance

Formular Formular FieldsetsFieldsets

[L07][L07] [L08][L08] [L09][L09]

[L10][L10] [L10][L10] [L10][L10]

Page 59: IPC14: Zend Framework 3 - Viva la evolución!

Diverse ManagerDiverse Manager

59 / 70

EventManager EventManager aufräumenaufräumen

EventManager EventManager PerformancePerformance

ModuleManager ModuleManager KonfigurationKonfiguration

Servicemanager Servicemanager PerformancePerformance

ServiceManager ServiceManager AufräumenAufräumen

Servicemanager Servicemanager InitializerInitializer

[L11][L11] [L11][L11] [L12][L12]

[L13][L13] [L14][L14] [L14][L14]

Page 60: IPC14: Zend Framework 3 - Viva la evolución!

MVC & GedönsMVC & Gedöns

60 / 70

RoutingRoutingSERViCELocator SERViCELocator AwareInterfaceAwareInterface

VIEWVIEWRefactoringRefactoring

RBACRBACRefactoringRefactoring

Paginator Paginator RefactoringRefactoring

Spiffy Spiffy Navigation?Navigation?

[L15][L15] [L16][L16] [L17][L17]

[L18][L18] [L19][L19] [L20][L20]

Page 61: IPC14: Zend Framework 3 - Viva la evolución!

Fokus KonfigurationFokus Konfiguration

61 / 70

// Routen Konfiguration mit benannten Parametern'user' => [ 'path' => '/user', 'controller' => 'user', 'action' => 'index', 'methods' => ['get']];

// Hierarchische Routen Konfiguration mit geordneten Parametern'user' => ['/user', 'user', 'index', 'children' => [ 'create' => ['/create', 'user', 'create', ['get', 'post']], 'edit' => ['/edit/:id', 'user', 'edit', ['get', 'post'], 'constraints' => [ 'id' => '\d+' ]], 'delete' => ['/delete/:id', 'user', 'delete', ['get', 'post'], 'constraints' => [ 'id' => '\d+' ]],]];

Page 62: IPC14: Zend Framework 3 - Viva la evolución!

Fokus Lose KopplungFokus Lose Kopplung

62 / 70

// ZF2: Validator mit Zustand$validator = new Boolean();if ($validator->isValid(true)) { // Verarbeite korrektes Ergebnis} else { $error = $validator->getErrorMessages();}

// ZF3: Validator ohne Zustand$validationTranslator = new ValidationTranslator(new Translator());$validator = new Boolean();$validationResult = $validator->validate($value);

if ($validationResult->isValid()) { // Verarbeite korrektes Ergebnis} else { $translatedResult = $validationTranslator->translate($validationResult); $error = $translatedResult->getErrorMessages();}

Page 63: IPC14: Zend Framework 3 - Viva la evolución!

Fokus BC BreaksFokus BC Breaks

63 / 70

// ZF2: Bad Practice, nicht mehr möglich im ZF3class UserController extends AbstractActionController{ public function indexAction() { $userService = $this->getServiceLocator()->get('User\Service'); }}

// ZF2: Best Practice, weiterhin möglich im ZF3class UserControllerFactory implements FactoryInterface{ public function createService (ServiceLocatorInterface $controllerManager) { $serviceLocator = $controllerManager->getServiceLocator(); $userService = $serviceLocator->get('User\Service'); $controller = new UserController(); $controller->setUserService($userService); return $controller; }}

Page 64: IPC14: Zend Framework 3 - Viva la evolución!

64 / 70

[B29]

ZF3?

¡Viva laEvolución!

Page 65: IPC14: Zend Framework 3 - Viva la evolución!

[B30]

65 / 70

ZF3?ZF3?

Wie kann ichWie kann ichHelfen?Helfen?

Page 66: IPC14: Zend Framework 3 - Viva la evolución!

[B00]

EPILOGEPILOG66 / 70

Page 67: IPC14: Zend Framework 3 - Viva la evolución!

Zend Framework 3Zend Framework 3ZF3 wird (K)ein (R)evolutionäres Update!ZF3 wird (K)ein (R)evolutionäres Update!

67 / 70

Page 68: IPC14: Zend Framework 3 - Viva la evolución!

68 / 70

[B31]

Fragen?Fragen?

www.ralfeggert.dewww.ralfeggert.de

Page 69: IPC14: Zend Framework 3 - Viva la evolución!

BildnachweisBildnachweis[B00] Fotos von Ralf Eggert

[B01] Surprise https://www.flickr.com/photos/photographybycolby/11927931295 von Colby Stopa - CC-BY https://creativecommons.org/licenses/by/2.0/

[B02] There's pain in my head https://www.flickr.com/photos/sneuweger/10418151535 von Stefan Neuweger - CC-BY https://creativecommons.org/licenses/by/2.0/

[B03] Still here https://www.flickr.com/photos/thenovys/3784261365 von Abe Novy - CC-BY https://creativecommons.org/licenses/by/2.0/

[B04] Young student https://www.flickr.com/photos/audiolucistore/14159712431/ von www.audio-luci-store.it - CC-BY https://creativecommons.org/licenses/by/2.0/

[B05] Beatles 4 https://www.flickr.com/photos/beatlesmaniac11/4191790770 von Grey Roger - CC-BY https://creativecommons.org/licenses/by/2.0/

[B06] Multi tools https://www.flickr.com/photos/pennuja/5363515039 von Jim Penucci - CC-BY https://creativecommons.org/licenses/by/2.0/

[B07] Container ship https://www.flickr.com/photos/usoceangov/5369581593 von Noaas - CC-BY https://creativecommons.org/licenses/by/2.0/

[B08] Slow poke - bush gardens https://www.flickr.com/photos/hyku/421609299 von Josh Hallett - CC-BY https://creativecommons.org/licenses/by/2.0/

[B09] Mountain View https://www.flickr.com/photos/henry_hemming/13228460095 von Henry Hemming - CC-BY https://creativecommons.org/licenses/by/2.0/

[B10] Shelves empty https://www.flickr.com/photos/juhansonin/3177622227 von Juhan Sonin - CC-BY https://creativecommons.org/licenses/by/2.0/

[B11] Rainbow cubes with holes https://www.flickr.com/photos/generated/6313491064 von Jared Tarbell - CC-BY https://creativecommons.org/licenses/by/2.0/

[B12] Rubber bands https://www.flickr.com/photos/mullica/5455794041 von Robert Benner - CC-BY https://creativecommons.org/licenses/by/2.0/

[B13] Test tubes https://www.flickr.com/photos/dahlstroms/3945656390 von Håkan Dahlström - CC-BY https://creativecommons.org/licenses/by/2.0/

[B14] Porsche 911 GT3RS https://www.flickr.com/photos/gfreeman23/8450589227 von Axion23 - CC-BY https://creativecommons.org/licenses/by/2.0/

[B15] Scenic Route 207 Texas Plain Trail https://www.flickr.com/photos/mtsrs/2547608404 von mtsrs - CC-BY https://creativecommons.org/licenses/by/2.0/

[B16] Big red button https://www.flickr.com/photos/mellis/223137287 von David Mellis - CC-BY https://creativecommons.org/licenses/by/2.0/

[B17] Quadri's Head Waiter https://www.flickr.com/photos/sonofgroucho/3492736867 von Son of Groucho - CC-BY https://creativecommons.org/licenses/by/2.0/

[B18] Brown paper packages tied up with strings https://www.flickr.com/photos/katerha/12270472734 von Kate Ter Haar - CC-BY https://creativecommons.org/licenses/by/2.0/

[B19] Catering Manager https://www.flickr.com/photos/audiolucistore/13712347043 von www.audio-luci-store.it - CC-BY https://creativecommons.org/licenses/by/2.0/

[B20] Che Guevara https://www.flickr.com/photos/hellosputnik/2102443979 von Sputnik - CC-BY https://creativecommons.org/licenses/by/2.0/

[B21] ISS Configuration as of March 2011 https://www.flickr.com/photos/wildtexas/5755829267 von Shannon Moore - CC-BY https://creativecommons.org/licenses/by/2.0/

[B22] Molecular bonds https://www.flickr.com/photos/pasukaru76/6978143982 von Pascal - CC-BY https://creativecommons.org/licenses/by/2.0/

[B23] Death-Valley Recetrack http://pdphoto.org/PictureDetail.php?mat=pdef&pg=5178 von Jon Sullivan - CC0 http://creativecommons.org/publicdomain/zero/1.0/

[B24] Mount Everest from base camp one https://www.flickr.com/photos/rupertuk/534748923 von Rupert Taylor-Price - CC-BY https://creativecommons.org/licenses/by/2.0/

[B25] Wildebeest Migration https://www.flickr.com/photos/gcode/2908281814 von Alan Green - CC-BY https://creativecommons.org/licenses/by/2.0/

[B26] Captain Future: Man of Tommorrow https://www.flickr.com/photos/hatwoman/4345993453 von Colleen A. Bryant - CC-BY https://creativecommons.org/licenses/by/2.0/

[B27] National Archaeol. Museum of Naples - Barbarian https://www.flickr.com/photos/ell-r-brown/7599471944 von Elliott Brown - CC-BY https://creativecommons.org/licenses/by/2.0/

[B28] Lemon https://www.flickr.com/photos/v1ctor/8493258542 von Viktor - CC-BY https://creativecommons.org/licenses/by/2.0/

[B29] Charles Darwin: Scientific Badass https://www.flickr.com/photos/cgpgrey/4896956109 von www.CGPGrey.com - CC-BY https://creativecommons.org/licenses/by/2.0/

[B30] Young student https://www.flickr.com/photos/audiolucistore/14159712431/ von www.audio-luci-store.it - CC-BY https://creativecommons.org/licenses/by/2.0/

[B31] We are all fan of laptops https://www.flickr.com/photos/scottvanderchijs/4493248747 von Scott & Elaine van der Chijs - CC-BY https://creativecommons.org/licenses/by/2.0/

69 / 70

Page 70: IPC14: Zend Framework 3 - Viva la evolución!

LINKnachweisLINKnachweis[L01] https://github.com/zendframework/zf2/issues/5599

[L02] https://github.com/zendframework/zf2/issues/5524

[L03] https://github.com/zendframework/zf2/issues/5051

[L04] https://github.com/zendframework/zf2/issues/5474

[L05] https://github.com/zendframework/zf2/issues/6285

[L06] https://github.com/zendframework/zf2/pull/5000

[L07] https://github.com/zendframework/zf2/pull/5097

[L08] https://github.com/zendframework/zf2/pull/5067

[L09] https://github.com/zendframework/zf2/pull/4772

[L10] https://github.com/zendframework/zf2/issues/5443

[L11] https://github.com/zendframework/zf2/pull/5399

[L12] https://github.com/zendframework/zf2/issues/5288

[L13] https://github.com/zendframework/zf2/issues/6068

[L14] https://github.com/zendframework/zf2/pull/5500

[L15] https://github.com/DASPRiD/Dash

[L16] https://github.com/zendframework/zf2/issues/5168

[L17] https://github.com/zendframework/zf2/pull/3935

[L18] https://github.com/spiffyjr/spiffy-navigation

[L19] https://github.com/zendframework/zf2/pull/5520

[L20] https://github.com/zf-fr/rbac

[L21] https://github.com/zendframework/zf2/wiki/ZF-3.0-Backwards-Compatibility-Breaks

70 / 70