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

UI\Controls\Label

Klasse

Ein <code>Label</code> stellt eine einzeilige, nicht bearbeitbare Textzeile in einer grafischen Benutzeroberfläche dar, die typischerweise andere UI-Elemente kennzeichnet.

seit PHP 0.9.9 Kategorie: misc

Signatur

class UI\Controls\Label extends UI\Control

Beschreibung

UI\Controls\Label ist ein einfaches, nicht interaktives Steuerelement aus der PHP-UI-Erweiterung (php-ui / libui). Es zeigt einen statischen Text an, der dem Benutzer keine Eingabe ermöglicht. Labels werden hauptsächlich eingesetzt, um Formularfelder, Eingaben oder andere Steuerelemente mit einer menschenlesbaren Beschriftung zu versehen.

Ein Label wird mit dem gewünschten Text als Konstruktorargument erstellt und kann anschließend in einen Container wie UI\Controls\Form, UI\Controls\Box oder UI\Controls\Grid eingebettet werden. Der angezeigte Text lässt sich nach der Erstellung jederzeit über die Methoden getText() und setText() auslesen bzw. aktualisieren.

Da das Label von UI\Control erbt, stehen alle allgemeinen Steuerelementmethoden wie show(), hide() und isVisible() zur Verfügung. Das Steuerelement eignet sich besonders für einzeilige Beschriftungen; mehrzeiliger Text wird nicht unterstützt.

Parameter

Name Typ Default Beschreibung
$text Pflicht string Der initiale Text, den das Label anzeigen soll. Sollte einzeilig sein, da mehrzeilige Texte nicht unterstützt werden.

Beispiele

Einfaches Label in einem Formular anzeigen

<?php
// Voraussetzung: php-ui-Erweiterung ist installiert

$window = new UI\Window('Label-Demo', 300, 100, false);
$window->setMargined(true);

$form = new UI\Controls\Form();
$form->setPadded(true);

// Label erstellen
$label = new UI\Controls\Label('Benutzername:');
$form->append('', $label, false);

// Eingabefeld, das durch das Label beschriftet wird
$entry = new UI\Controls\Entry();
$form->append('', $entry, true);

$window->add($form);
$window->show();

UI\run();

Label-Text dynamisch ändern

<?php
$window = new UI\Window('Dynamisches Label', 300, 150, false);
$window->setMargined(true);

$box = new UI\Controls\Box(UI\Controls\Box::Vertical);
$box->setPadded(true);

$label = new UI\Controls\Label('Standardtext');
$box->append($label, false);

$button = new UI\Controls\Button('Text ändern');
$button->on(UI\Controls\Button::clicked, function () use ($label) {
    $label->setText('Text wurde geändert!');
});
$box->append($button, false);

// Aktuellen Text auslesen
$currentText = $label->getText();
echo 'Aktueller Label-Text: ' . $currentText . PHP_EOL;

$window->add($box);
$window->show();

UI\run();
Aktueller Label-Text: Standardtext

// Wichtig · Fallstricke

Einzeiligkeit: UI\Controls\Label unterstützt ausschließlich einzeiligen Text. Zeilenumbrüche (\n) werden je nach Plattform ignoriert oder führen zu unerwünschtem Verhalten.

Erweiterungsabhängigkeit: Diese Klasse ist Teil der experimentellen php-ui-Erweiterung, die auf libui basiert. Sie ist nicht im PHP-Kern enthalten und muss separat installiert werden. Die API kann sich zwischen Versionen ändern.

Plattformverhalten: Da libui native Steuerelemente des jeweiligen Betriebssystems verwendet, kann das Erscheinungsbild von Label unter Windows, macOS und Linux leicht variieren.