Stringable

Från Wiki.linux.se
Version från den 29 augusti 2024 kl. 17.32 av Admin (diskussion | bidrag) (→‎Sidslut)
(skillnad) ← Äldre version | Nuvarande version (skillnad) | Nyare version → (skillnad)
Hoppa till navigering Hoppa till sök

Gränssnittet Stringable

(PHP 8)

Introduktion

Gränssnittet Stringable anger att en klass har en __toString()-metod. Till skillnad från de flesta gränssnitt är Stringable implicit närvarande i alla klasser som har den magiska __toString()-metoden definierad, även om det kan och bör deklareras explicit.

Dess huvudsakliga värde är att tillåta funktioner att typkontrollera mot unionstypen string|Stringable för att acceptera antingen en strängprimitiv eller ett objekt som kan omvandlas till en sträng.

Gränssnittssammanfattning

interface Stringable {
/* Metoder */
public __toString(): string
}

Exempel på Stringable

Exempel #1 Grundläggande användning av Stringable
<?php
class IPv4Address implements Stringable {
    public function __construct(
        private string $oct1,
        private string $oct2,
        private string $oct3,
        private string $oct4,
    ) {}

    public function __toString(): string {
        return "$this->oct1.$this->oct2.$this->oct3.$this->oct4";
    }
}

function showStuff(string|Stringable $value) {
    // För ett Stringable-objekt kommer detta implicit att anropa __toString().
    print $value;
}

$ip = new IPv4Address('123', '234', '42', '9');

showStuff($ip);
?>

Ovanstående exempel kommer att ge något liknande:

123.234.42.9

Innehållsförteckning


Sidslut

Orginalhemsidan på Engelska : https://www.php.net/manual/en/class.stringable.php
PHP
Språkreferens
Fördefinierade Gränssnitt och Klasser


Det här är en maskinöversättning av PHP-manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på https://www.linux.se/kontaka-linux-se/

Tack till Datorhjälp som har sponsrat Linux.se med webserver.