Start · Sprachen · PHP · Referenz · Late Static Binding

Late Static Binding

Konzept

<code>static::</code> statt <code>self::</code> bezieht sich zur Laufzeit auf die aufrufende Klasse, nicht die deklarierende.

seit PHP 5.3.0 Kategorie: oop

Signatur

static::method(); new static();

Beschreibung

Wichtig bei Vererbung: self:: ist "compile-time", static:: ist "run-time".

Rückgabewert

Typ
void

Beispiele

Factory-Pattern

<?php

class Model {
    public static function create(): static {
        return new static();
    }
}

class User extends Model {}

$u = User::create(); // User-Instanz, nicht Model