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'));
}
}
