Signatur
Beschreibung
UI\Controls\Slider ist ein grafisches Steuerelement (Widget) aus der PHP-UI-Erweiterung, das einen horizontalen Schieberegler rendert. Der Slider repräsentiert einen definierten Wertebereich (Minimum und Maximum) und ermöglicht es dem Endnutzer, durch Verschieben des Reglers einen ganzzahligen Wert innerhalb dieses Bereichs auszuwählen.
Typische Einsatzgebiete sind Lautstärke- oder Helligkeitsregler, Fortschrittsanzeigen mit Nutzereingabe oder allgemein überall dort, wo ein Wert aus einem kontinuierlichen Bereich intuitiv eingestellt werden soll. Der Bereich wird beim Instanziieren durch Minimum- und Maximum-Wert festgelegt.
Über die Methode getValue() lässt sich der aktuelle Wert abfragen, mit setValue() kann er programmatisch gesetzt werden. Änderungen durch den Nutzer lassen sich über einen onChange-Handler (Callback) verarbeiten, der bei jeder Wertänderung aufgerufen wird.
Die Klasse ist Teil der UI\Controls-Gruppe und erbt alle Basisfunktionen von UI\Control, etwa das Ein- und Ausblenden sowie das Aktivieren und Deaktivieren des Controls.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $min Pflicht | int | Der minimale Wert des Schiebereglers (untere Grenze des dargestellten Bereichs). | |
| $max Pflicht | int | Der maximale Wert des Schiebereglers (obere Grenze des dargestellten Bereichs). |
Beispiele
Einfacher Slider mit Wertanzeige beim Ändern
<?php
use UI\Window;
use UI\Controls\Slider;
use UI\Controls\Label;
use UI\Controls\Box;
use UI\Point;
use UI\Size;
$window = new Window('Slider-Demo', new Size(400, 100), false);
$box = new Box(Box::Vertical);
$box->setPadded(true);
$label = new Label('Aktueller Wert: 50');
$slider = new Slider(0, 100);
$slider->setValue(50);
$slider->onChange(function(Slider $s) use ($label) {
$label->setText('Aktueller Wert: ' . $s->getValue());
});
$box->append($label);
$box->append($slider);
$window->add($box);
$window->show();
UI\run();
Slider-Wert programmatisch setzen und auslesen
<?php
use UI\Controls\Slider;
// Slider mit Bereich 1–10 erstellen
$slider = new Slider(1, 10);
// Wert programmatisch setzen
$slider->setValue(7);
// Wert auslesen
$wert = $slider->getValue();
echo 'Gesetzter Wert: ' . $wert . PHP_EOL;
// Wichtig · Fallstricke
Erweiterung erforderlich: UI\Controls\Slider ist Teil der PECL-Erweiterung ui, die separat installiert werden muss und auf libui basiert. Sie ist nicht im Standard-PHP-Lieferumfang enthalten.
Ganzzahlige Werte: Der Slider arbeitet ausschließlich mit ganzzahligen Werten (int). Fließkomma-Bereiche werden nicht direkt unterstützt.
Reihenfolge min/max: Es sollte stets min < max gelten. Wird ein ungültiger Bereich übergeben, kann das Verhalten undefiniert sein.
Plattformabhängigkeit: Das Aussehen des Sliders hängt vom nativen UI-Framework des jeweiligen Betriebssystems ab (Windows, macOS, Linux/GTK).