Slide 1

Slide 1 text

Zend Framework 2 Robert Bašić

Slide 2

Slide 2 text

Ki vagyok én? ● PHP 2005-töl, “szakmailag” 2008-töl ● Szeretem az open source-ot: – phpplaneta – web2project – zf

Slide 3

Slide 3 text

PHP? Zend Framework? ?

Slide 4

Slide 4 text

Zend Framework! ● Nyilt forráskódu PHP framework, könyvtár ● New BSD license ● Az egyik legnépszerübb és leghasználtab PHP framework

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

Zend Framework 1, problémák

Slide 7

Slide 7 text

Lassú

Slide 8

Slide 8 text

Varázslat

Slide 9

Slide 9 text

Nehéz megtanulni

Slide 10

Slide 10 text

Zend Framework 2

Slide 11

Slide 11 text

Forradalom!

Slide 12

Slide 12 text

Fejlődés!

Slide 13

Slide 13 text

Átirni ott ahol van értelme

Slide 14

Slide 14 text

Lassú

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

Autoloading példa ● https://github.com/akrabat/zf2- learning/blob/master/autoloader/3_autoloaderfactory.php

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

Lassú, DI ● Használni a Dependency Injection-t ● Példanyositani csak azokat az objektumokat amelyek szukségesek, amikor szukségesek

Slide 19

Slide 19 text

Zend\Di

Slide 20

Slide 20 text

Zend\Di ● https://github.com/akrabat/zf2- learning/tree/master/di

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

Varázslat, ZF1 view helper

Slide 23

Slide 23 text

Varázslat, ZF2 view helper

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

Adatbázis és adat formák ● DB ● DOM manipulation ● Feed reader/writer ● Mail ● Serialization ● JSON ● AMF ● ICal

Slide 29

Slide 29 text

Biztonság ● Authentication ● Authorization ● Identity ● OpenID ● Oauth ● InfoCard ● LDAP

Slide 30

Slide 30 text

I18n && L10n ● Translator ● Locale ● Currency ● Date ● Locale ● Measure ● Translator ● TimeSync

Slide 31

Slide 31 text

MVC ● Controller ● Front controller ● Action controllers ● View and Layout ● Navigation ● Paginator ● ProgressBar ● Tag Cloud ● Server Components ● XML-RPC ● JSON-RPC ● SOAP ● AMF ● Form

Slide 32

Slide 32 text

Fejlesztés ● Debug ● Wildfire ● Tool ● Functional testing framework

Slide 33

Slide 33 text

Többi ● Queue ● Javascript ● Dojo ● jQuery ● Barcode ● Services ● Captcha ● Cloud ● PDF ● Search, Lucene ● Markup

Slide 34

Slide 34 text

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

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

Modulok

Slide 37

Slide 37 text

Modulok

Slide 38

Slide 38 text

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

Slide 39

Slide 39 text

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

Slide 40

Slide 40 text

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