sessionless-1.x-dev/tests/modules/sessionless_session_test/src/Form/SessionlessSessionTestForm.php

tests/modules/sessionless_session_test/src/Form/SessionlessSessionTestForm.php
<?php

declare(strict_types=1);
namespace Drupal\sessionless_session_test\Form;

use Drupal\Core\Form\FormBase;
use Drupal\Core\Form\FormStateInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Symfony\Component\HttpFoundation\Session\SessionInterface;

final class SessionlessSessionTestForm extends FormBase {

  protected SessionInterface $session;

  public function getFormId() {
    return 'sessionless_session_test_form';
  }

  public static function create(ContainerInterface $container) {
    $instance = parent::create($container);
    $instance->session = $container->get('sessionless_session.session');
    return $instance;
  }

  public function buildForm(array $form, FormStateInterface $form_state) {
    $form['text'] = [
      '#type' => 'textfield',
    ];
    $form['actions']['submit'] = [
      '#type' => 'submit',
      '#value' => t('Submit'),
    ];
    return $form;
  }

  public function validateForm(array &$form, FormStateInterface $form_state) {}

  public function submitForm(array &$form, FormStateInterface $form_state) {
    $this->session->set('text', $form_state->getValue('text'));
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc