Signatur
Beschreibung
UI\Controls\Check stellt ein klassisches Kontrollkästchen (Checkbox) für PHP-UI-Anwendungen dar. Es zeigt neben dem Kästchen einen beschreibenden Text an und erlaubt dem Benutzer, einen booleschen Zustand (aktiviert/deaktiviert) zu setzen.
Typische Anwendungsfälle sind Einstellungsformulare, Zustimmungsabfragen oder jede Situation, in der ein Benutzer eine binäre Auswahl treffen soll. Das Control erbt von UI\Control und kann in Layouts (z. B. UI\Controls\Box) eingebettet werden.
Über die Methode onChange() kann eine Callback-Funktion registriert werden, die immer dann aufgerufen wird, wenn der Benutzer den Zustand des Kästchens ändert. Mit isChecked() und setChecked() lässt sich der aktuelle Zustand programmatisch abfragen und setzen.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $text Pflicht | string | Der Beschriftungstext, der neben dem Kontrollkästchen angezeigt wird. |
Beispiele
Einfache Checkbox mit Beschriftung erstellen
<?php
use UI\Window;
use UI\Controls\Check;
use UI\Controls\Box;
use UI\Point;
use UI\Size;
$window = new Window('Checkbox-Beispiel', new Size(300, 100), false);
$box = new Box(Box::Vertical);
$window->add($box);
$check = new Check('Ich stimme den Nutzungsbedingungen zu');
$box->append($check);
$window->show();
UI\main();
Zustand der Checkbox abfragen und setzen
<?php
use UI\Window;
use UI\Controls\Check;
use UI\Controls\Button;
use UI\Controls\Box;
use UI\Point;
use UI\Size;
$window = new Window('Check-Demo', new Size(300, 150), false);
$box = new Box(Box::Vertical);
$window->add($box);
$check = new Check('Benachrichtigungen aktivieren');
$check->setChecked(true); // standardmäßig aktiviert
$box->append($check);
$button = new Button('Status prüfen');
$button->onClick(function() use ($check) {
$status = $check->isChecked() ? 'aktiviert' : 'deaktiviert';
echo "Checkbox ist: {$status}" . PHP_EOL;
});
$box->append($button);
$check->onChange(function() use ($check) {
$status = $check->isChecked() ? 'aktiviert' : 'deaktiviert';
echo "Zustand geändert: {$status}" . PHP_EOL;
});
$window->show();
UI\main();
// Wichtig · Fallstricke
Die Klasse UI\Controls\Check ist Teil der experimentellen ui-Extension (auch bekannt als php-ui oder libui-Binding) und ist nicht im PHP-Kern enthalten. Sie muss über PECL installiert werden (pecl install ui).
Da die Extension als experimentell gilt, können sich API-Details zwischen Versionen ändern. Für produktive Anwendungen sollte die jeweilige Versionskompatibilität geprüft werden.