Использование класса, как ключа массива

Изучал туториал по slimFramework и увидел там такой код:

    return [
  'settings' => function () {
    return require __DIR__ . '/settings.php';
  },
  App::class => function (ContainerInterface $container) {
    AppFactory::setContainer($container);

    return AppFactory::create();
  },
  ResponseFactoryInterface::class => function(ContainerInterface $container) {
    return $container->get(App::class)->getResponseFactory();
  },
  ErrorMiddleware::class => function (ContainerInterface $container) {
    $app = $container->get(App::class);
    $settings = $container->get('settings')['error'];

    return new ErrorMiddleware(
      $app->getCallableResolver(),
      $app->getResponseFactory(),
      (bool)$settings['display_error_details'],
      (bool)$settings['log_errors'],
      (bool)$settings['log_error_details']
    );
  },
];

И на данный момент я не могу понять что происходит при вызове App::class => function()...? В класс записывается значение которое приходит из анонимной функции? Где можно почитать об этом?


Ответы (0 шт):