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

UI\Controls\Slider

Klasse

Ein Slider-Control, das einen numerischen Bereich mit einem verschiebbaren Regler darstellt und dem Nutzer erlaubt, einen Wert innerhalb dieses Bereichs auszuwählen.

seit PHP 0.9.9 Kategorie: misc

Signatur

class UI\Controls\Slider extends UI\Control

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;
Gesetzter Wert: 7

// 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).