Top Banner
18./19.08.2012 6. PHP Unconference in Hamburg 1 von 24 Zend Framework 2 6. PHP Unconference, Hamburg 18. und 19. August 2012 Zend Framework 2 kommt bald - und jetzt?
24

Zend Framework 2 kommt bald - und jetzt?

Jun 15, 2015

Download

Technology

Ralf Eggert

Vortrag auf der PHP Unconference 2012 in Hamburg am 18.8.2012
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Zend Framework 2 kommt bald - und jetzt?

18./19.08.2012 6. PHP Unconference in Hamburg 1 von 24

Zend Framework 2

6. PHP Unconference, Hamburg18. und 19. August 2012

Zend Framework 2 kommt bald - und jetzt?

Page 2: Zend Framework 2 kommt bald - und jetzt?

18./19.08.2012 6. PHP Unconference in Hamburg 2 von 24

Zend Framework 2

Wer sind wir?● Ralf Eggert

[email protected]

● Geschäftsführer Travello GmbH

● PHP seit 1999

● Zend Framework seit 2006

● Autor für PHP Magazin, seit 2007 Zend_Column

● Buchautor, Addison-Wesley, Neuauflage 2013

● www.zendframeworkmagazin.de => sucht Autoren

● Tobias Ranft

[email protected]

● Detlev Louis Motorradvertriebs GmbH

● Webentwickler seit 2000

● Zend Framework seit 2010

● www.louis.de => sucht ZF Freelancer

Page 3: Zend Framework 2 kommt bald - und jetzt?

18./19.08.2012 6. PHP Unconference in Hamburg 3 von 24

Zend Framework 2

TEIL 1

die Neuerungen

Page 4: Zend Framework 2 kommt bald - und jetzt?

18./19.08.2012 6. PHP Unconference in Hamburg 4 von 24

Zend Framework 2

Was interessiert mich mein Geschwätz von gestern?

Page 5: Zend Framework 2 kommt bald - und jetzt?

18./19.08.2012 6. PHP Unconference in Hamburg 5 von 24

Zend Framework 2

Neue Konzepte im ZF2 (I)● PHP Namespaces

– Zend\Form\Element statt Zend_Form_Element

– namespace Zend\Authentication\Adapter;

– use Zend\Authentication\Result as AuthenticationResult;use Zend\Db\Adapter\Adapter as DbAdapter;use Zend\Db\ResultSet\ResultSet;use Zend\Db\Sql\Expression;use Zend\Db\Sql\Select as DbSelect;

– use Zend\InputFilter\Factory as InputFactory;

Page 6: Zend Framework 2 kommt bald - und jetzt?

18./19.08.2012 6. PHP Unconference in Hamburg 6 von 24

Zend Framework 2

Neue Konzepte im ZF2 (II)● Neue Modularität

– Zend\ModuleManager

– Alles ist ein Modul

– Module in /module und /vendor

– Einfache Aktivierung

● Dependency Injection– Zend\Di

– Steuerung der Abhängigkeiten von Objekten

– $b = new MovieLister(new MovieFinder));

– MovieLister ist abhängig von MovieFinder

– MovieFinder wird in MovieLister injiziert

Page 7: Zend Framework 2 kommt bald - und jetzt?

18./19.08.2012 6. PHP Unconference in Hamburg 7 von 24

Zend Framework 2

Neue Konzepte im ZF2 (III)● Service Locator

– Zend\ServiceManager

– Zentrale Registrierung für Objekte zur späteren Wiederverwendung

– Ersetzt Zend_Registry

● Event-Driven Architecture– Zend\EventManager

– Anhängen und Abhängen von Listenern an benannte Events

– Events werden angestoßen

– Plugin Hooks sind als Events realisiert

– Klassische Beispiele: Logging oder Versand von Bestellbestätigungen

Page 8: Zend Framework 2 kommt bald - und jetzt?

18./19.08.2012 6. PHP Unconference in Hamburg 8 von 24

Zend Framework 2

Neue Konzepte im ZF2 (IV)● Neuer Autoloader

– Zend\Loader

– Class Map

– PSR-0 style autoloader

– Plugin Loader

– Prefix Path Loader

● Standardisierte Konfiguration– Einheitliche Optionen: lowercase_underscore_separated_words

– setOptions() für alle Komponenten einheitlich

– Eigene Konfigurationsobjekte pro Komponente

– Zend\Stdlib\AbstractOptions

Page 9: Zend Framework 2 kommt bald - und jetzt?

18./19.08.2012 6. PHP Unconference in Hamburg 9 von 24

Zend Framework 2

Neue Konzepte im ZF2 (V)● Annotations

namespace MyVendor\Model;

use Zend\Form\Annotation;

/** * @Annotation\Hydrator("Zend\Stdlib\Hydrator\ObjectProperty") * @Annotation\Name("user") */class User{ /** * @Annotation\Attributes({"type":"text" }) * @Annotation\Validator({"type":"Regex","options":{"regex":"/^[a-zA-Z][a-zA-Z0-9_-]{1,19}/"}}) * @Annotation\Options({"label":"Username:"}) */ public $username;

/** * @Annotation\Type("Zend\Form\Element\Email") * @Annotation\Options({"label":"Your email address:"}) */ public $email;}

Page 10: Zend Framework 2 kommt bald - und jetzt?

18./19.08.2012 6. PHP Unconference in Hamburg 10 von 24

Zend Framework 2

Alte Komponenten in neuem Gewand (I)● Zend\Authentication

● Zend\Barcode

● Zend\Cache

● Zend\Captcha

● Zend\Console

● Zend\Code

● Zend\Config

● Zend\Db

● Zend\Debug

● Zend\Dom

● Zend\Feed

● Zend\File

● Zend\Filter

● Zend\Form

● Zend\Http

● Zend\InputFilter

● Zend\Json

● Zend\Ldap

● Zend\Loader

● Zend\Log

Page 11: Zend Framework 2 kommt bald - und jetzt?

18./19.08.2012 6. PHP Unconference in Hamburg 11 von 24

Zend Framework 2

Alte Komponenten in neuem Gewand (II)● Zend\Mail

● Zend\Memory

● Zend\Mime

● Zend\Mvc

● Zend\Navigation

● Zend\Pagination

● Zend\Permissions\Acl

● Zend\Progressbar

● Zend\Serializer

● Zend\Server

● Zend\Session

● Zend\Soap

● Zend\Tag

● Zend\Text

● Zend\Uri

● Zend\Validator

● Zend\Version

● Zend\View

● Zend\XmlRpc

Page 12: Zend Framework 2 kommt bald - und jetzt?

18./19.08.2012 6. PHP Unconference in Hamburg 12 von 24

Zend Framework 2

Neue Komponenten mit neuem Glanz● Zend\Crypt

● Zend\Di

● Zend\Escaper

● Zend\EventManager

● Zend\I18n +

● Zend\Math

● Zend\ModuleManager

● Zend\ServiceManager

● Zend\Stdlib

Page 13: Zend Framework 2 kommt bald - und jetzt?

18./19.08.2012 6. PHP Unconference in Hamburg 13 von 24

Zend Framework 2

Der Rest: vergessen, verraten & verkauft● Zend_Amf *

● Zend_Cloud *

● Zend_Currency +

● Zend_Date +

● Zend_Dojo

● Zend_Gdata *

● Zend_InfoCard

● Zend_Locale +

● Zend_Markup *

● Zend_Measure +

● Zend_OAuth *

● Zend_OpenId *

● Zend_Pdf *

● Zend_Queue *

● Zend_Reflection

● Zend_Registry

● Zend_Rest *

● Zend_Search_Lucene *

● Zend_Service *

● Zend_Test

● Zend_TimeSync *

● Zend_Tool *

● Zend_Translate +

● Zend_Wildfire

Page 14: Zend Framework 2 kommt bald - und jetzt?

18./19.08.2012 6. PHP Unconference in Hamburg 14 von 24

Zend Framework 2

Geplante Ziele für das ZF2● Lernkurve vereinfachen / bessere Dokumentation

● Performance verbessern

● Erweiterbarkeit des Frameworks vereinfachen

● Wartung des Frameworks vereinfachen

● Module sollen »first-class-citizens« werden

● Download von einzelnen Teilen / Komponenten

● Entkopplung der Komponenten (Zend_Form, Zend_View)

● Mehr Konsistenzen schaffen (Optionen, Eigenschaften, ...)

● PHP 5.3 voll unterstützen (Namespaces, Closures, ...)

Page 15: Zend Framework 2 kommt bald - und jetzt?

18./19.08.2012 6. PHP Unconference in Hamburg 15 von 24

Zend Framework 2

Vorteile des ZF2● Sehr performantes Autoloading

● Wiederverwendbare Module

● Wachsendes Angebot an fertigen Modulen

● Noch höhere Flexibilität als das ZF1

● Sehr lose Kopplung der Komponenten

● »Wer die ersten Hürden genommen hat, will nicht zurück.«

● Partieller Download ausgewählter Komponenten

Page 16: Zend Framework 2 kommt bald - und jetzt?

18./19.08.2012 6. PHP Unconference in Hamburg 16 von 24

Zend Framework 2

Nachteile des ZF2● Konfigurationslastigkeit kann abschrecken

● Höhere Komplexität, dadurch höherer Bedarf an Doku, Bücher und Tutorials

● Neue Konzepte erfordern neues Denken der Entwickler

● Umgang mit git, phar, pyrus und composer muss gelernt werden

● Grundeinstellungen sind im Framework nicht enthalten (Skeleton)

● Inhärente Probleme eines Eventmanagers vorhanden

Page 17: Zend Framework 2 kommt bald - und jetzt?

18./19.08.2012 6. PHP Unconference in Hamburg 17 von 24

Zend Framework 2

http://modules.zendframework.com/● BjyProfiler

● DoctrineModule

● DojoModule

● TwitterBootstrap

● ZendSkeletonModule

● ZendDeveloperTools

● ZfcTwitterBootstrap

● ZfcUser

● ZeTwig

Page 18: Zend Framework 2 kommt bald - und jetzt?

18./19.08.2012 6. PHP Unconference in Hamburg 18 von 24

Zend Framework 2

Struktur für Applikationen und Module

Quelle: Zend Framework 2 2.0.0rc3 documentation

Page 19: Zend Framework 2 kommt bald - und jetzt?

18./19.08.2012 6. PHP Unconference in Hamburg 19 von 24

Zend Framework 2

Installation● Downloadseite

– http://packages.zendframework.com/

● Installation der Package mit Pyrus– pyrus.phar . channel-discover packages.zendframework.com

– pyrus.phar . install zf2/<zf-package>

● Installation der Library mit Git von GitHub– git clone --recursive https://github.com/zendframework/zf2.git

● Installation Skeleton Application mit Composer– Download Zip https://github.com/zendframework/ZendSkeletonApplication

– Entpacken und in Projektverzeichnis verschieben

– php composer.phar self-update

– php composer.phar install

Page 20: Zend Framework 2 kommt bald - und jetzt?

18./19.08.2012 6. PHP Unconference in Hamburg 20 von 24

Zend Framework 2

Mitmachen beim ZF?● Dokumentation

– http://zf2.readthedocs.org/ Edit this document

[email protected]

– Tutorial

– Übersetzung

● Module

– http://modules.zendframework.com/

● Bugtracker

– http://framework.zend.com/issues/browse/ZF2

Page 21: Zend Framework 2 kommt bald - und jetzt?

18./19.08.2012 6. PHP Unconference in Hamburg 21 von 24

Zend Framework 2

Links und Quellen● http://framework.zend.com/zf2/

● http://zf2.readthedocs.org/

● https://github.com/zendframework

● https://github.com/ZF-Commons

● http://framework.zend.com/wiki/display/ZFDEV2/

● http://packages.zendframework.com/

● http://modules.zendframework.com/

● http://git.zendframework.com/

● http://www.zendframeworkmagazin.de/

Page 22: Zend Framework 2 kommt bald - und jetzt?

18./19.08.2012 6. PHP Unconference in Hamburg 22 von 24

Zend Framework 2

TEIL 2

Ein kleines Beispiel

(wenn noch Zeit ist)

Page 23: Zend Framework 2 kommt bald - und jetzt?

18./19.08.2012 6. PHP Unconference in Hamburg 23 von 24

Zend Framework 2

TEIL 3

Fragen?Meinungen?

Neue Chuck Norris Witze?

Page 24: Zend Framework 2 kommt bald - und jetzt?

18./19.08.2012 6. PHP Unconference in Hamburg 24 von 24

Zend Framework 2

Danke für Eure Aufmerksamkeit!

Ralf Eggert <[email protected]>

Tobias Ranft <[email protected]>