Back to AbstractModuleDispatcher class

Method dispatch

public void
dispatch
()
Runs the dispatcher.
Returns
  • void
Since
  • 4.0.0

Method dispatch - Source code

/**
 * Runs the dispatcher.
 *
 * @return  void
 *
 * @since   4.0.0
 */
public function dispatch()
{
    $this->loadLanguage();
    $displayData = $this->getLayoutData();
    // Abort when display data is false
    if ($displayData === false) {
        return;
    }
    // Execute the layout without the module context
    $loader = static function (array $displayData) {
        // If $displayData doesn't exist in extracted data, unset the variable.
        if (!\array_key_exists('displayData', $displayData)) {
            extract($displayData);
            unset($displayData);
        } else {
            extract($displayData);
        }
        /**
         * Extracted variables
         * -----------------
         * @var   \stdClass  $module
         * @var   Registry   $params
         */
        require ModuleHelper::getLayoutPath($module->module, $params->get('layout', 'default'));
    };
    $loader($displayData);
}