/** * Resolve a method inside a module. * * @param Module $module * @param null $methodName * * @throws MethodNotFoundException * @return mixed */ protected function resolveMethod(Module $module, $methodName = null) { $selected = $methodName; if ($methodName === null) { $selected = $module->getDefaultMethodName(); } if (!$module->hasMethod($selected)) { throw new MethodNotFoundException($module->getName(), $methodName); } return $module->getMethod($selected); }