Start · Sprachen · PHP · Referenz · UI\Controls\Check

UI\Controls\Check

Klasse

Ein <code>Check</code> ist ein beschriftetes Kontrollkästchen (Checkbox), das der Benutzer aktivieren oder deaktivieren kann.

seit PHP 0.9.9 Kategorie: misc

Signatur

class UI\Controls\Check extends UI\Control

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.