Zend Framework 2 per chi viene da Symfony2

56
venerdì 1 febbraio 2013

Transcript of Zend Framework 2 per chi viene da Symfony2

Page 1: Zend Framework 2 per chi viene da Symfony2

venerdì 1 febbraio 2013

Page 2: Zend Framework 2 per chi viene da Symfony2

venerdì 1 febbraio 2013

Page 3: Zend Framework 2 per chi viene da Symfony2

per chi viene da

venerdì 1 febbraio 2013

Page 4: Zend Framework 2 per chi viene da Symfony2

per chi viene da

venerdì 1 febbraio 2013

Page 5: Zend Framework 2 per chi viene da Symfony2

Michele Orselli

CTO@Ideato @[email protected]

who Am I?venerdì 1 febbraio 2013

Page 6: Zend Framework 2 per chi viene da Symfony2

Michele Orselli

CTO@Ideato @[email protected]

who Am I?venerdì 1 febbraio 2013

Page 7: Zend Framework 2 per chi viene da Symfony2

Symfony 1.x/2 developer

who Am I?venerdì 1 febbraio 2013

Page 8: Zend Framework 2 per chi viene da Symfony2

I’m biasedvenerdì 1 febbraio 2013

Page 9: Zend Framework 2 per chi viene da Symfony2

I’m biased

dependency injection

event MVCservice

component

app layout

request

responselistener

command

venerdì 1 febbraio 2013

Page 10: Zend Framework 2 per chi viene da Symfony2

Zend Framework 2

- legacy app/db- soap api- restish api

my 1st zf2 projectvenerdì 1 febbraio 2013

Page 11: Zend Framework 2 per chi viene da Symfony2

the journey beginsvenerdì 1 febbraio 2013

Page 12: Zend Framework 2 per chi viene da Symfony2

standards

sf2 & zf2 ♥ standards

venerdì 1 febbraio 2013

Page 13: Zend Framework 2 per chi viene da Symfony2

standards

PSR-*PSR-0: autoloading PSR-1/2: coding standardPSR-3: logging

https://github.com/php-fig/fig-standards

venerdì 1 febbraio 2013

Page 14: Zend Framework 2 per chi viene da Symfony2

don’t reinvent the wheel

3rd party libs

venerdì 1 febbraio 2013

Page 15: Zend Framework 2 per chi viene da Symfony2

ASSETIC: asset managementCOMPOSER: package managementDOCTRINE: ORMTWIG: templating engine

3rd party libs

don’t reinvent the wheelvenerdì 1 febbraio 2013

Page 16: Zend Framework 2 per chi viene da Symfony2

componentsvenerdì 1 febbraio 2013

Page 17: Zend Framework 2 per chi viene da Symfony2

Sf2 components

BrowserKit: simulates a browserCssSelector: converts CSS selector to XPath expressionDomCrawler: easy DOM navigationProcess: asset managementFinder: package managementHTTPFoundation: package managementDependencyInjection: dependency injection containerEventDispatcher: observer pattern

venerdì 1 febbraio 2013

Page 18: Zend Framework 2 per chi viene da Symfony2

Zf2 components

Soap: a soap server/client with wsdl generationInputFilter: user input filterDomQuery: easy DOM navigationValidator: user input valdatorServiceManager: a service locator implementationMVC: an mvc implementationDI: dependency injection containerEventManager: observer pattern

venerdì 1 febbraio 2013

Page 19: Zend Framework 2 per chi viene da Symfony2

well know (?) pattern

components implement well known patterns

venerdì 1 febbraio 2013

Page 20: Zend Framework 2 per chi viene da Symfony2

EventManager vs EventDispatchervenerdì 1 febbraio 2013

Page 21: Zend Framework 2 per chi viene da Symfony2

Integration via composer

composer.json

venerdì 1 febbraio 2013

Page 22: Zend Framework 2 per chi viene da Symfony2

toward bigger blocks

Bundles/Modules

venerdì 1 febbraio 2013

Page 23: Zend Framework 2 per chi viene da Symfony2

Sf2 Bundles

Bundle: group of PHP, javascript, css, config files implementing a feature.

Almost everything in sf2 is in a bundle

venerdì 1 febbraio 2013

Page 24: Zend Framework 2 per chi viene da Symfony2

Sf2 Bundle dir structure

Acme/DemoBundle/

Controller/Command/Entity/Resources/

config/services.ymlrouting.yml

public/views/

Test/AcmeDemoBundle.php

venerdì 1 febbraio 2013

Page 25: Zend Framework 2 per chi viene da Symfony2

Zf2 Modules

Module: group of PHP, javascript, css, config files implementing a feature.

venerdì 1 febbraio 2013

Page 26: Zend Framework 2 per chi viene da Symfony2

Zf2 Module dir structure

Application/config/

module.config.php src/

Application/Controller/Service/

view/test/

ApplicationTest/Module.php

venerdì 1 febbraio 2013

Page 27: Zend Framework 2 per chi viene da Symfony2

Sf2 Bundle app integration

AcmeDemoBundle.php

venerdì 1 febbraio 2013

Page 28: Zend Framework 2 per chi viene da Symfony2

Zf2 Module dir structure

Module.php

venerdì 1 febbraio 2013

Page 29: Zend Framework 2 per chi viene da Symfony2

Sf2 service definition

services.xml

venerdì 1 febbraio 2013

Page 30: Zend Framework 2 per chi viene da Symfony2

Sf2 service definition

services.xml

venerdì 1 febbraio 2013

Page 31: Zend Framework 2 per chi viene da Symfony2

wait a minute...

where’s the DIC???

venerdì 1 febbraio 2013

Page 32: Zend Framework 2 per chi viene da Symfony2

Zf2 service locator

Module.php

venerdì 1 febbraio 2013

Page 33: Zend Framework 2 per chi viene da Symfony2

Zf2 events

Module.php

venerdì 1 febbraio 2013

Page 34: Zend Framework 2 per chi viene da Symfony2

Sf2 MVC

routing.yml

CompanyController.php

venerdì 1 febbraio 2013

Page 35: Zend Framework 2 per chi viene da Symfony2

Sf2 Events

kernel.requestkernel.controllerkernel.viewkernel.responsekernel.exceptionkernel.terminate

venerdì 1 febbraio 2013

Page 36: Zend Framework 2 per chi viene da Symfony2

Zf2 MVC

modules.config.php

IndexController.php

venerdì 1 febbraio 2013

Page 37: Zend Framework 2 per chi viene da Symfony2

Zf2 Controller Plugin

Module.php

IndexController.php

venerdì 1 febbraio 2013

Page 38: Zend Framework 2 per chi viene da Symfony2

Zf2 Events

Zend\Mvc\Application: bootstrapZend\Mvc\Application: routeZend\Mvc\Application: dispatchZend\Mvc\Controller\ActionController: dispatchZend\Mvc\Application: dispatch.errorZend\Mvc\Application: renderZend\View\View: rendererZend\View\View: responseZend\Mvc\Application: finish

venerdì 1 febbraio 2013

Page 39: Zend Framework 2 per chi viene da Symfony2

sf2 console

php app/console

venerdì 1 febbraio 2013

Page 40: Zend Framework 2 per chi viene da Symfony2

sf2 console

MyCommand.php

venerdì 1 febbraio 2013

Page 41: Zend Framework 2 per chi viene da Symfony2

zf2 console

where’s the console???

venerdì 1 febbraio 2013

Page 42: Zend Framework 2 per chi viene da Symfony2

zf2 controllers as console command

modules.config.php

CrawlController.php

venerdì 1 febbraio 2013

Page 43: Zend Framework 2 per chi viene da Symfony2

Sf2 app structure

app/config/

config.ymlconfig_*.ymlrouting.ymlrouting_dev.yml

AppKernel.phpconsole

src/vendor/web/

app.phpapp_dev.php

venerdì 1 febbraio 2013

Page 44: Zend Framework 2 per chi viene da Symfony2

Zf2 app structure

app/config/

autoload/global.phplocal.php.dist

application.config.phpmodule/vendor/public/

index.php

venerdì 1 febbraio 2013

Page 45: Zend Framework 2 per chi viene da Symfony2

wrap up

what I take home?venerdì 1 febbraio 2013

Page 46: Zend Framework 2 per chi viene da Symfony2

bumpy ride initiallyvenerdì 1 febbraio 2013

Page 47: Zend Framework 2 per chi viene da Symfony2

what I’ve missed from Sf2venerdì 1 febbraio 2013

Page 48: Zend Framework 2 per chi viene da Symfony2

what I’ve missed from Sf2

Symfony standard edition

venerdì 1 febbraio 2013

Page 49: Zend Framework 2 per chi viene da Symfony2

what I’ve missed from Sf2

Symfony cheatsheet

venerdì 1 febbraio 2013

Page 50: Zend Framework 2 per chi viene da Symfony2

learning Zf2 if you know Sf2 is quite smooth...

what I take home?venerdì 1 febbraio 2013

Page 51: Zend Framework 2 per chi viene da Symfony2

if...

what I take home?venerdì 1 febbraio 2013

Page 52: Zend Framework 2 per chi viene da Symfony2

what I take home?

you read the docs

venerdì 1 febbraio 2013

Page 53: Zend Framework 2 per chi viene da Symfony2

what I take home?

http://framework.zend.com/manual/2.0/en/index.html

http://modules.zendframework.com/

http://www.mwop.net

http://akrabat.com/category/zend-framework-2/

http://ocramius.github.com/

http://www.maltblue.com/tag/zend-framework

http://juriansluiman.nl/en/

... you get it

venerdì 1 febbraio 2013

Page 54: Zend Framework 2 per chi viene da Symfony2

what I take home?

you read the code

venerdì 1 febbraio 2013

Page 55: Zend Framework 2 per chi viene da Symfony2

what I take home?

https://github.com/zendframework

https://github.com/weierophinney

https://github.com/Ocramius

https://packagist.org/

... you get it

venerdì 1 febbraio 2013

Page 56: Zend Framework 2 per chi viene da Symfony2

Thank YOU!

@_orso_

[email protected]

that’s all folks!

Pics Credits:

Glass: http://www.flickr.com/photos/daveynin/6722545177/

Journey: http://www.flickr.com/photos/landrovermena/7086355379/

Components: http://www.flickr.com/photos/37996583811@N01/5955271663/

Not Found: http://www.flickr.com/photos/girliemac/6508022985/

venerdì 1 febbraio 2013