Keith Hards
Personal blog of Keith Hards, UK.
Tuesday, 7 January 2014
Zend Framework 2 Cheat Sheet
Zend Framework 2 Cheat Sheet
basiert auf: ZF 2 Beta 5
WORK IN PROGRESS!
(c) 2012 Michael Romer (
Impressum
)
Detaillierte Erklärung? ->
Webentwicklung mit Zend Framework 2 Buch
Jetzt kaufen!
nur
€10
Kostenlose Leseprobe mit 2 vollständigen Kapiteln als PDF
index.php
Zend
\
ServiceManager
\
ServiceManager
START
EventManager
Zend
\
Mvc
\
Service
\
EventM
nagerFactory
ModuleManager
Zend
\
Mvc
\
Service
\
EventM
nagerFactory
SharedEventManager
Zend
\
EventManager
\
Share
EventManager
ServiceManagerConfiguration
Zend
\
ModuleManag
r\
M
oduleManager
Zend
\
Loader
\
ModuleAutoloader
Zend
\
ModuleManager
L
istener\
M
oduleReso
verListener
loadModules
loadModule.resolve
loadModules.post
Invokables
Factories
DispatchListener
Zend
\
Mvc
\
DispatchListen
r
$defaultServiceConfiguration
Module Events
DefaultListenerAggregate
Application
Zend
\
Mvc
\
Service
\
Applic
tionFactory
Zend
\
ModuleManage
\
L
istener\
AutoloaderListener
Zend
\
ModuleManager
L
istener\
InitTrigger
Zend
\
ModuleManager
L
istener\
OnBootstrapListener
Zend
\
ModuleManage
\
L
istener\
L
ocatorRe
istrationListener
Zend
\
ModuleManage
\
L
istener\
ConfigListener
Request
Zend
\
Http
\
PhpEnvironme
t\
R
equest
Zend
\
Mvc
\
Application::
init()
Invokables
Factories
ModuleEvent
onloadModulesPre()
onloadModulesPost()
register()
__invoke()
onLoadModule()
__invoke()
__invoke()
__invoke()
onLoadModule()
loadModule
löst aus in
loadModules()
und loadModule()
bindet Listener
in createService()
Stellt sicher, dass die
Klasse Module automatisch
geladen werden kann.
Instanziert die Module.php
basiert auf ZF2 Beta 5
(c) 2012 Michael Romer
http://zendframework2.de/cheat-sheet.html
Feedback? zf2buch@michael-romer.de
Ruft die Methode
getAutoloaderConfig() in
der Module.php auf.
Ruft die Methode init() in
der Module.php auf.
Sorgt dafür, dass die Methode
onBootstrap() in der Module.php für
den Event "b
o
otstrap"
d
er
Application registiriert wird
Stellt sicher, dass alle Modul-Klassen, die das
LocatorRegisteredInterface
implementieren, im ServiceManager verfügbar
gemacht werden
onLoadModulesPost()
Ruft die Methode
getConfig() der
Modul-Klasse auf und
vereinigt alle
Konfigurationen.
er
zeugt
erzeugt
Zend
\
ModuleManager
L
istener\
S
erviceListe
er
onLoadModulesPost()
onLoadModule()
Ruft ggf. die Methoden getServiceConfiguration(),
getControllerConfiguration(),
getControllerPluginConfiguration(),
getViewHelperConfiguration() in der Module.php auf,
verarbeitet die zusammengeführten Configs und konfiguriert
damit die ServiceManager und ergänzt den ServiceManager um
weitere Services.
Response
Z
end\
H
ttp\
P
hpEnvironme
t\R
e
sponse
RouteListener
Z
end\
M
vc\
R
outeListener
ViewManager
Z
end\
M
vc\
V
iew\
V
iewMan
ger
Configuration
Zend
\
Mvc
\
Service
\
Config
rationFactory
DependencyInjector
Zend
\
Mvc
\
Service
\
DiFact
ry
Router
Zend
\
Mvc
\
Service
\
Router
actory
ViewFeedRenderer
Zend
\
Mvc
\
Service
\
ViewFe
dRendererFactory
ViewFeedStrategy
Zend
\
Mvc
\
Service
\
ViewFe
dStrategyFactory
ViewJsonRenderer
Zend
\
Mvc
\
Service
\
ViewJs
nRendererFactory
ViewJsonStrategy
Zend
\
Mvc
\
Service
\
ViewJs
nStrategyFactory
ViewHelperManager
Zend
\
Mvc
\
Service
\
ViewH
lperManagerFactory
ControllerPluginMan
ger
Zend
\
Mvc
\
Service
\
Contro
lerPluginManagerFactory
Co
ntrollerLoader
Zend
\
Mvc
\
Service
\
Contro
lerLoaderFactory
Scoped ServiceManager
bootstrap
route
dispatch.error
MVC Events
MvcEvent
dispatch
onRoute()
Ruft den Router auf, der versucht, eine
passende Route für die aufgerufene URL zu
ermitteln.
onDispatch()
Instanziert mithilfe des ContollerLoader den
im Rahmen des Routings ermittelten
Controller.
onBootstrap()
löst aus in run()
Bereitet den View Layer vor.
render
finish
Zend
\
Mvc
\
Applicati
n
Controller
abgeleitet von:
Zend
\
Mvc
\
Controller
\
Ab
tractActionController
dispatch
löst aus
execute()
registriert in onBootstrap()
RouteNotFoundStrate
y
Zend
\
Mvc
\
View
\
Rout
eNot
oundStrategie
Services
Setzt den Statuscode auf 404, falls keine passende
Route ermittelt oder kein Controller ermittelt
werden konnen und erzeugt ggf. ein spezielles
ViewModel für die "Fi
l
e-Not-Found" -
Seite.
prepareNotFoundViewModel()
detectNotFoundError()
prepareNotFoundViewModel()
ExceptionStrategy
Zend
\
Mvc
\
View
\
Exceptio
Strategy
bindet listener in
bootstrap()
prepareExceptionViewModel()
Setzt den Statuscode auf 500, falls im MVC-Event
ein Error vom Typ Application::ERROR_EXCEPTION
zu finden ist und erzeugt ein spezielles ViewModel
für die "Ap
p
lication Error" -
Seite.
DefaultRenderingStra
egy
Zend
\
Mvc
\
View
\
DefaultRe
deringStrategy
render()
Stößt das Rendering der View an.
ENDE
Zend
\
Mvc
\
View
\
Creat
ViewModelListener
Zend
\
Mvc
\
View
\
InjectTemplateListene
Zend
\
Mvc
\
View
\
Injec
ViewModelListener
bindet Listener in onBootstrap()
send()
createViewMo
delFromArray()
createViewModelFromNull()
Stellt sicher, dass ein Objekt vom Typ
"
V
iewModel"
für das rendering bereitsteht.
injectTemplate()
Stellt sicher, dass ein Objekt vom Typ
"
V
iewModel"
für das rendering bereitsteht.
Fügt das passende Template für das
Rendering in das ViewModel hinzu.
injectViewModel()
Fügt das ViewModel dem MVC-Event hinzu.
injectViewModel()
View
Zend
\
View
\
View
renderer
response
ViewEvent
ViewPhpRendererStra
egy
Zend
\
View
\
Strategy
\
PhpR
ndererStrategy
selectRenderer()
injectResponse()
Wählt den zu verwendenen Renderer und
überträgt das Ergebnis des Rederings
von der View in das Response-Objekt.
ViewRenderer
Zend
\
View
\
Renderer
\
Php
enderer
ViewTemplateMapRe
olver
Zend
\
View
\
Resolver
\
View
emplateMapResolver
ViewTemplatePathSta
k
Zend
\
View
\
Resolver
\
View
emplatePathStack
ViewResolver
Zend
\
View
\
Resolver
\
Aggr
gateResolver
Findet den Pfad zu einem Template auf Basis eines
zuvor festgelegten Keys in einer Key-Value
Datenstruktur.
Findet den Pfad zu einem Template auf Basis eines
zuvor festgelegten Stacks vom Pfaden.
Aggregiert ViewTemplateMapResolver
&
ViewTemplatePathStack
Zend Framework 2 Request Dispatch Flow
Überblick Ablauf Request-Verarbeitung
1.
Request
wird auf
index.php umgeschrieben
2.
index.php
:
2.1 Autoloading konfigurieren
2.2 application.config.php einlesen
2.3
Zend
\
Mvc
\
Application::init() aufrufen, dabei Config
übergeben
3.
Zend
\
Mvc
\
Application::init()
3.1 initialisiert den ServiceManager
3.2 legt Inhalte der application.config.php als Service ab
3.3 fordert beim ServiceManager den ModuleManager an
und ruft dessen loadModules() - Methode auf
3.4 fordert dann beim ServiceManager
die Application an
und ruft dessen bootstrap() - Methode auf
4.
index.php:
4.1 ruft Methode run() der Application auf
4.2 ruft Methode send() der Application auf
Einsprungpunkt für alle Requests durch
Einsatz von mod_rewrite und ggf. .htaccess -
File.
Repräsentiert die gesamte Anwendung und ist
Einsprungspunkt ins Zend Framework. Bietet
die Klassenmethode init() zur Erzeugung
einiger Basisdienste.
Verwaltet die Services der Anwendung.
Ermöglicht die Registrierung von Listenern
für Events, wenn der eigentlich zuständige
EventManager noch nicht verfügbar ist.
Verwaltet die Module der
Anwendung.
Erzeugt einen Service, der
Zugriff auf die vereinte
Konfiguration bietet.
Ermöglicht es einem anderen Objekte,
Ereignisse auszulösen und Listener zu
verwalten.
ApplicationConfiguration
array
Inhalt der application.config.php
Service
Identifiers
SharedEventManager:
- ModuleManager
- module_manager
- Zend
\
ModuleManager
\
ModuleManager
Identifiers
SharedEventManager:
- application
- Zend
\
Mvc
\
Application
Erzeut den ViewHelperManager, der
ViewHelper zur Nutzung bereitstellt.
Erzeut den ControllerPluginmanager,
der Controller Plugins zur Nutzung
bereitstellt.
Erzeut den ControllerLoader, der die
Controller der Anwendung
bereitstellt.
Diese Services stellen selbst
wieder spezialisierte
ServiceManager dar.
Identifiers
SharedEventManager:
- Zend
\
Stdlib
\
DispatchableInterface
-Zend
\
Mvc
\
Controller
\
AbstractActionController
- der erste Teil des
Namespaces
des Controllers
Erzeugt aus Templates und ViewModel
finales Markup.
Repräsentiert die visuelle Darstellung.
create and share your own diagrams at gliffy.com
No comments:
Post a Comment
Newer Post
Older Post
Home
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment