Class **Phalcon\\Mvc\\Application** =================================== *extends* :doc:`Phalcon\\DI\\Injectable <Phalcon_DI_Injectable>` *implements* :doc:`Phalcon\\Events\\EventsAwareInterface <Phalcon_Events_EventsAwareInterface>`, :doc:`Phalcon\\DI\\InjectionAwareInterface <Phalcon_DI_InjectionAwareInterface>` This component encapsulates all the complex operations behind instantiating every component needed and integrating it with the rest to allow the MVC pattern to operate as desired. .. code-block:: php <?php class Application extends \Phalcon\Mvc\Application { /** * Register the services here to make them general or register in the ModuleDefinition to make them module-specific *\/ protected function _registerServices() { } /** * This method execute the right module *\/ public function main() { $this->registerModules(array( 'frontend' => array( 'className' => 'Multiple\Frontend\Module', 'path' => '../apps/frontend/Module.php' ), 'backend' => array( 'className' => 'Multiple\Backend\Module', 'path' => '../apps/backend/Module.php' ) )); } } $application = new Application(); $application->main(); Methods --------- public **registerModules** (*array* $modules, *boolean* $merge) Register an array of modules present in the application .. code-block:: php <?php $this->registerModules(array( 'frontend' => array( 'className' => 'Multiple\Frontend\Module', 'path' => '../apps/frontend/Module.php' ), 'backend' => array( 'className' => 'Multiple\Backend\Module', 'path' => '../apps/backend/Module.php' ) )); public *array* **getModules** () Return the modules registered in the application public :doc:`Phalcon\\Http\\ResponseInterface <Phalcon_Http_ResponseInterface>` **handle** () Handles a MVC request public **setDI** (:doc:`Phalcon\\DiInterface <Phalcon_DiInterface>` $dependencyInjector) inherited from Phalcon\\DI\\Injectable Sets the dependency injector public :doc:`Phalcon\\DiInterface <Phalcon_DiInterface>` **getDI** () inherited from Phalcon\\DI\\Injectable Returns the internal dependency injector public **setEventsManager** (:doc:`Phalcon\\Events\\ManagerInterface <Phalcon_Events_ManagerInterface>` $eventsManager) inherited from Phalcon\\DI\\Injectable Sets the event manager public :doc:`Phalcon\\Events\\ManagerInterface <Phalcon_Events_ManagerInterface>` **getEventsManager** () inherited from Phalcon\\DI\\Injectable Returns the internal event manager public **__get** (*string* $propertyName) inherited from Phalcon\\DI\\Injectable Magic method __get