Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Zend Framework 2

Zend Framework 2

An introduction to Zend Framework 2, Webkonf 2011 (http://webkonf.org/), Budapest, Hungary

robertbasic

October 07, 2011
Tweet

More Decks by robertbasic

Other Decks in Programming

Transcript

  1. Zend Framework 2
    Robert Bašić

    View full-size slide

  2. Ki vagyok én?

    PHP 2005-töl,
    “szakmailag” 2008-töl

    Szeretem az open
    source-ot:
    – phpplaneta
    – web2project
    – zf

    View full-size slide

  3. PHP? Zend Framework?
    ?

    View full-size slide

  4. Zend Framework!

    Nyilt forráskódu PHP
    framework, könyvtár

    New BSD license

    Az egyik
    legnépszerübb és
    leghasználtab PHP
    framework

    View full-size slide

  5. Egy kis történelem...

    október 2005. ZF1 fejlesztése bejelentve

    0.1.0. március 2006, 1.0.0. július 2007.

    1.5.0. március 2008, 1.8.0. április 2009.

    február 2010. elkezdődöt a ZF2 fejlesztése

    View full-size slide

  6. Zend Framework 1, problémák

    View full-size slide

  7. Nehéz megtanulni

    View full-size slide

  8. Zend Framework 2

    View full-size slide

  9. Átirni ott ahol van értelme

    View full-size slide

  10. Lassú, autoloading

    Csak a beépítet PHP autoloading-ot használni,
    kidobni a require_once hívásokat

    classmaps a leggyorsabb, de szinkronban kell
    tartani
    – eszközök classmap generáláshoz
    – “élőben” ezt ajánlatos használni

    StandardAutoloader mint “B terv” a classmap-
    hoz
    – PSR-0 szabvány szerint

    View full-size slide

  11. Autoloading példa

    https://github.com/akrabat/zf2-
    learning/blob/master/autoloader/3_autoloaderfactory.php

    View full-size slide

  12. Lassú, bővitmények

    Beolvasásuk nagyon lassú

    A bővitmények példányosítása különbözik a
    kulönböző komponensek közt

    Rendbehozva, mindegyik komponens ugyanúgy
    csinálja

    PluginBroker és PluginLoader

    ClassMapAutoloader és PrefixPathLoader

    View full-size slide

  13. Lassú, DI

    Használni a Dependency Injection-t

    Példanyositani csak azokat az objektumokat
    amelyek szukségesek, amikor szukségesek

    View full-size slide

  14. Zend\Di

    https://github.com/akrabat/zf2-
    learning/tree/master/di

    View full-size slide

  15. Varázslat

    A határozott jobb mint a beleértett (explicit vs
    implicit)

    __set, __get, __call és hasonlo varázslatos
    módszereket kerülni

    láthato főleg a bövitményeken

    View full-size slide

  16. Varázslat, ZF1 view helper

    View full-size slide

  17. Varázslat, ZF2 view helper

    View full-size slide

  18. Nehéz megtanulni

    Kevesebb varázslat, érthetőbb forráskód

    Szabványosítot API

    Jobb dokumentació

    Bevezető, quickstart, opciók, metodusok,
    példák

    View full-size slide

  19. Eddigi fejlesztés

    SVN -> git && github, sokkal könnyebb
    csatlakozni a fejlesztéshez
    – CLA még mindig kell

    namespaces - névtér

    exceptions - kivételek

    request/response – kérés/válasz

    bővitmények

    Zend\Di, Zend\EventManager, Zend\Mvc

    View full-size slide

  20. ZF 2 részei

    component – komponens – 1 különleges feladat
    megoldására

    library – könyvtár – komponensek összege

    module – módul – 1 üzleti feladat megoldására
    komponensek és könyvtárak segítségével

    application – aplikáció – módulok összege

    View full-size slide

  21. Core - Mag

    Loading

    Configuration

    Caching, Logging

    EventManager, DI,
    Code Generation

    HTTP, REST

    URI

    Session

    Console

    Crypt

    Filter, Validation

    Stdlib

    SPL Extensions

    Dispatchable

    Callback

    Memory

    Version

    View full-size slide

  22. Adatbázis és adat formák

    DB

    DOM manipulation

    Feed reader/writer

    Mail

    Serialization

    JSON

    AMF

    ICal

    View full-size slide

  23. Biztonság

    Authentication

    Authorization

    Identity

    OpenID

    Oauth

    InfoCard

    LDAP

    View full-size slide

  24. I18n && L10n

    Translator

    Locale

    Currency

    Date

    Locale

    Measure

    Translator

    TimeSync

    View full-size slide

  25. MVC

    Controller

    Front controller

    Action controllers

    View and Layout

    Navigation

    Paginator

    ProgressBar

    Tag Cloud

    Server Components

    XML-RPC

    JSON-RPC

    SOAP

    AMF

    Form

    View full-size slide

  26. Fejlesztés

    Debug

    Wildfire

    Tool

    Functional testing framework

    View full-size slide

  27. Többi

    Queue

    Javascript

    Dojo

    jQuery

    Barcode

    Services

    Captcha

    Cloud

    PDF

    Search, Lucene

    Markup

    View full-size slide

  28. Modulok

    Direktorium (vagy phar), kód gyüjtemény
    – MVC, class, tests, views, JS/CSS/img...

    Névtér, névterek

    classmap, PSR-0 kompatibilis

    Module.php

    Modulok függhetnek más moduloktol

    View full-size slide

  29. Modulok

    Különböző eszközök (resources) megosztása a
    modulok között (pl adatbázis kapcsolat)

    Modulok bővithetnek más modulokat

    Modulok instalálása, deinstalálása

    Közösség által fejlesztet modulok gyüjteménye
    – zfcampus.org

    View full-size slide

  30. Közösség

    “A Rant From Mr. Grumpy on ZF2”

    ZF2 Dev blog, (két)heti updatek

    IRC találkák minden masodik szerdán, 17UTC

    #zftalk.2 és a levelező lista feléledt

    RFCk

    View full-size slide

  31. A jövő

    Kész lesz mikor kész lesz az MVC

    Google szerű beták
    – új hozzáadások, API változtatása
    – az első beta az idei ZendCon-on

    ZF X minden ~18 hónapban

    Nem lesz többet ekkora átírás mint ZF1 > ZF 2

    View full-size slide

  32. Köszönöm a figyelmüket!
    Kérdés?

    http://framework.zend.com/

    https://github.com/zendframework

    http://framework.zend.com/blog


    http://robertbasic.com/

    https://twitter.com/robertbasic

    robertbasic @ freenode: #zftalk #zftalk.2
    #zftalk.dev #zftalk-community

    View full-size slide