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

Transcript
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