📡 You're offline — showing cached content
New version available!
Quick Access
Tutorials Zend Framework / Laminas Laminas MVC Request Lifecycle

Laminas MVC Request Lifecycle

5 min read Quiz at the end
Trace the Laminas MVC lifecycle: bootstrap, route, dispatch, render, and finish events.

Laminas MVC Request Lifecycle

// 1. public/index.php — bootstrap
require "vendor/autoload.php";
$app = LaminasMvcApplication::init(require "config/application.config.php");
$app->run();

// 2. config/application.config.php — register modules
return [
    "modules" => ["LaminasRouter", "LaminasValidator", "Application", "Blog"],
    "module_listener_options" => [
        "config_glob_paths"    => ["config/autoload/{,*.}{global,local}.php"],
        "config_cache_enabled" => false,
    ],
];

// 3. Module.php — each module configures itself
namespace Blog;
class Module {
    public function getConfig(): array {
        return include __DIR__ . "/../config/module.config.php";
    }
}

// Lifecycle events fired:
// bootstrap → route → dispatch → render → finish