3 * Zend Framework (http://framework.zend.com/)
5 * @link http://github.com/zendframework/zf2 for the canonical source repository
6 * @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
7 * @license http://framework.zend.com/license/new-bsd New BSD License
10 namespace Zend\ModuleManager
;
12 use Zend\EventManager\EventManagerAwareInterface
;
15 * Module manager interface
17 interface ModuleManagerInterface
extends EventManagerAwareInterface
20 * Load the provided modules.
22 * @return ModuleManagerInterface
24 public function loadModules();
27 * Load a specific module by name.
29 * @param string $moduleName
30 * @return mixed Module's Module class
32 public function loadModule($moduleName);
35 * Get an array of the loaded modules.
37 * @param bool $loadModules If true, load modules if they're not already
38 * @return array An array of Module objects, keyed by module name
40 public function getLoadedModules($loadModules);
43 * Get the array of module names that this manager should load.
47 public function getModules();
50 * Set an array or Traversable of module names that this module manager should load.
52 * @param mixed $modules array or Traversable of module names
53 * @return ModuleManagerInterface
55 public function setModules($modules);