8. Dispatcher

The application Dispatcher must be defined in the application context XML:

<?xml version="1.0" encoding="UTF-8"?>
<context namespace="myproject.apps.web">
	<objects>
		<!-- Dispatcher -->
		<object id="myproject.apps.web.Dispatcher" class="metadigit\core\web\Dispatcher">
			<properties>
				<property name="defaultViewEngine">phptal</property>
				<property name="routes" type="array">
					<item key="*">myproject.apps.web.HomeController</item>
				</property>
			</properties>
		</object>

		<!-- interceptors-->

		<!-- controllers -->
		<object id="myproject.apps.web.HomeController" class="myproject\apps\web\HomeController">
		</object>

		<!-- Managers -->
		<object id="myproject.apps.web.SessionManager" class="metadigit\core\session\SessionManager">
			<properties>
				<property name="name">SESSION</property>
			</properties>
		</object>
	</objects>
  
	<events>
		<event name="dispatcher:controller">
			<listeners>
				<listener>myproject.apps.web.SessionManager->start</listener>
			</listeners>
		</event>
		<event name="dispatcher:view">
			<listeners>
				<listener>myproject.apps.web.SessionManager->end</listener>
			</listeners>
		</event>
	</events>
</context>