zend framework 2

Post on 18-Feb-2016

71 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

Zend Framework 2. Svět se změnil!. Zapomeňte!. Všechno je jinak!. 5.3. ZF 2 beta 1. Coding Standards. Zend \ Loader. Zend \ Loader. Classmap PSR-0 Resource loader Autoloader factory Vyšší výkon oproti ZF1. Dependency Injection. class Person { public $ db ; - PowerPoint PPT Presentation

TRANSCRIPT

Zend Framework 2

Svět se změnil!

Zapomeňte!

Všechno je jinak!

5.3

ZF 2 beta 1

Coding Standards

Zend\Loader

Zend\Loader• Classmap• PSR-0• Resource loader• Autoloader factory • Vyšší výkon oproti ZF1

Dependency Injection

class Person { public $db; public function __construct($dbConfig) { $this->db = new DbAdapter($dbConfig); }}

$person = new Person($dbConfig);$person->... 

class Person { public $db; public function setDb(DbAdapter $dbAdapter) { $this->db = $dbAdapter; }}

$person = new Person();$person->setDb(new DbAdapter($dbConfig));$person->...

Dependency InjectionŽádné interní závislosti

snadnější testováníKonec řešení „jak to tam předám?“

(skončí většinou na Zend_Registry)Čistější kód

Zend\DiNapříč celým frameworkem

např. tahání závislostí do controlleru

Není potřeba new, stačí settery a ono se to automagicky naplní

Zend\Mvc

Zend\Mvc• Dispatch proces - spoléhá na DI• ActionController• RestController• interface Dispatchable

Moduly

Moduly• „balíčky“• v aplikaci neupravovat ani do nich

neukládat soubory - snadný upgrade• .phar, .tar• mergují konfiguraci s aplikací

Moduly• vlastní autoloading• bude cli skript na instalaci• výrazně jednodušší sdílení

modules.zendframework.com

View

Zend\View• autoescape• jiné předávání proměnných• $products místo $this->products• bude snazší si vyměnit viewčko

Routování

Routování• normální / binární strom výkon !• routuje se na DI alias

ne na Modul/Controller/Action• RouteMatch• interface Dispatchable

Request/Response

Request Response

Request/Response• sestaveny přesně podle RFC• minitřídy na jednotlivé elementy

HTTP (Location, ContentType, etc)• posílají se v rámci MVC eventů• Response agreguje výsledky

Event Manager

Event Manager• přes eventy je řešeno skoro všechno–dispatch, routing, …

• veškeré hooky–dispatch.pre–dispatch.post

Pluginy/Helpery/…

Pluginy/Helpery/…• sjednocené – interface Pluggable• zjednodušené načítání (z pohledu

programové složitosti)• trochu složitější na rozjetí pro vývojáře

(explicitně se registrují helpery)• view helpery - __invoke() - is_callable()

Jak začít?

Jak začít?• PHP 5.3• DI• Tutorial: Getting started with Zend

Framework 2 (beta1) (by Akrabat)• Applications skeleton + module

Výhody+ máte přehled co se děje+ změny nejsou tak velké –

komponenty přibývají postupně+ můžete nově věci zkusit používat

ještě než vyjdou+ můžete zasáhnout do vývoje

Nevýhody- cokoli, co uděláte, se může rozbít- musíte koukat do zdrojáku- není to na produkční nasazení

Ideální čas na přestup!

Nenechte si ujet vlak!

Děkujeme za pozornost!

Martin Hujer@MartinHujer

Tomáš Fejfar@tomasfejfar

top related