arch-8.x-1.x-dev/modules/cart/src/Controller/CartController.php
modules/cart/src/Controller/CartController.php
<?php namespace Drupal\arch_cart\Controller; use Drupal\Core\Controller\ControllerBase; use Drupal\Core\Form\FormBuilderInterface; use Drupal\Core\PageCache\ResponsePolicy\KillSwitch; use Symfony\Component\DependencyInjection\ContainerInterface; /** * Cart page controller. */ class CartController extends ControllerBase { /** * The page cache kill switch service. * * @var \Drupal\Core\PageCache\ResponsePolicy\KillSwitch */ protected $pageCacheKillSwitch; /** * Constructs a CartController object. * * @param \Drupal\Core\Form\FormBuilderInterface $formBuilder * Form builder service. * @param \Drupal\Core\PageCache\ResponsePolicy\KillSwitch $killSwitch * Page cache kill switch service. */ public function __construct( FormBuilderInterface $formBuilder, KillSwitch $killSwitch, ) { $this->formBuilder = $formBuilder; $this->pageCacheKillSwitch = $killSwitch; } /** * {@inheritdoc} */ public static function create(ContainerInterface $container) { return new static( $container->get('form_builder'), $container->get('page_cache_kill_switch') ); } /** * Page callback. * * @return array * Render array. */ public function content() { $this->pageCacheKillSwitch->trigger(); return [ '#type' => 'container', '#attributes' => [], '#cache' => [ 'max-age' => 0, 'contexts' => [ 'user', 'session', ], ], 'form' => $this->formBuilder()->getForm('Drupal\arch_cart\Form\CartForm'), ]; } }