forked from pi-engine/pi
-
Notifications
You must be signed in to change notification settings - Fork 0
Core.What Pi Do When Request Received
linzongshu edited this page Mar 5, 2015
·
12 revisions
- match
api/...
-> www/api.php - match
admin/...
-> www/admin.php - match
feed/...
-> www/feed.php - else -> www/index.php
What do these scripts do:
- Define engine class type
- Enabled boot, make it as request process other than Pi APIs pro
- Config var, lib, host path
- Define namespace
- Autoloader
- System configuration
- Code storage
- Bootstrap (Pi\Application\Engine\AbstractEngine)
- Services defined in configuration file
- Resources defined in configuration file
- Router Service (Zend\Mvc\Router\Http\TreeRouteStack)
- Initialize application instance
- ServiceManager
- EventManager
- Request
- Response
- Application boot (Zend\Mvc\Application)
- Attach listeners @see Attach Events
- MvcEvent
- Trigger EVENT_BOOTSTRAP
- Listeners
- RouteListener -> Zend\Mvc\RouteListener
- DispatchListener -> Zend\Mvc\DispatchListener
- ViewManager -> Zend\Mvc\View\Http\ViewManager
- SendResponseListener -> Zend\Mvc\SendResponseListener
- ViewStrategyListener -> Pi\Mvc\View\Http\ViewStrategyListener
- EVENT_BOOTSTRAP
- Pi\Mvc\View\Http\ViewStrategyListener::prepareRequestType() 99999
- Pi\Mvc\View\Http\ViewStrategyListener::prepareRootModel() 20000
- Zend\Mvc\View\Http\ViewManager::onBootstrap() 10000
- EVENT_ROUTE
- Pi\Mvc\View\Http\ViewStrategyListener::initThemeAssemble() 10000
- Zend\Mvc\RouteListener::onRoute()
- Pi\Mvc\View\Http\ViewStrategyListener::prepareActionResult() -99999
- EVENT_DISPATCH
- Zend\Mvc\DispatchListener::onDispatch()
- Pi\Mvc\View\Http\ViewStrategyListener::canonizeActionResult() -70
- Pi\Mvc\View\Http\ViewStrategyListener::injectTemplate() -89
- Zend\Mvc\View\Http\RouteNotFoundStrategy::prepareNotFoundViewModel -90
- EVENT_DISPATCH_ERROR
- Zend\Mvc\View\Http\RouteNotFoundStrategy::detectNotFoundError()
- Zend\Mvc\View\Http\RouteNotFoundStrategy::prepareNotFoundViewModel()
- Zend\Mvc\View\Http\ExceptionStrategy::prepareExceptionViewModel()
- Zend\Mvc\View\Http\InjectViewModelListener::injectViewModel() -100
- EVENT_RENDER
- Pi\Mvc\View\Http\ViewStrategyListener::renderThemeAssemble() 10000
- Pi\Mvc\View\Http\ViewStrategyListener::canonizeErrorResult() 10
- Pi\Mvc\View\Http\ViewStrategyListener::canonizeThemeLayout() 5
- Zend\Mvc\View\Http\DefaultRenderingStrategy::render() -10000
- EVENT_RENDER_ERROR
- Pi\Mvc\View\Http\ViewStrategyListener::renderThemeAssemble() 10000
- Zend\Mvc\View\Http\ExceptionStrategy::prepareExceptionViewModel()
- Zend\Mvc\View\Http\InjectViewModelListener::injectViewModel() -100
- Zend\Mvc\View\Http\DefaultRenderingStrategy::render() -10000
- EVENT_FINISH
- Pi\Mvc\View\Http\ViewStrategyListener::completeThemeAssemble() 10000
- Application -> Pi\Mvc\Service\ApplicationFactory -> Pi\Mvc\Application
- Router -> Zend\Mvc\Router\Http\TreeRouteStack