array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'de', ), 'this' => array ( 0 => 'function.class-alias.php', 1 => 'class_alias', ), 'up' => array ( 0 => 'ref.classobj.php', 1 => 'Klassen- und Objekt-Funktionen', ), 'prev' => array ( 0 => 'function.autoload.php', 1 => '__autoload', ), 'next' => array ( 0 => 'function.class-exists.php', 1 => 'class_exists', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'de', 'path' => 'reference/classobj/functions/class-alias.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 5 >= 5.3.0, PHP 7, PHP 8)
class_alias — Erzeugt einen Alias für eine Klasse
Erzeugt einen Alias namens alias
basierend auf der
benutzerdefinierten Klasse class
. Die abgeleitete
Klasse ist genau die gleiche wie die Originalklasse.
class
Die Originalklasse
alias
Der Alias-Name für die Klasse
autoload
Gibt an, ob automatisch geladen werden soll, wenn die Originalklasse nicht gefunden wird
Beispiel #1 class_alias()-Beispiel
<?php
class Foo { }
class_alias('Foo', 'Bar');
$a = new Foo;
$b = new Bar;
// die Objekte sind identisch
var_dump($a == $b, $a === $b);
var_dump($a instanceof $b);
// die Klassen sind identisch
var_dump($a instanceof Foo);
var_dump($a instanceof Bar);
var_dump($b instanceof Foo);
var_dump($b instanceof Bar);
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
bool(true) bool(false) bool(true) bool(true) bool(true) bool(true) bool(true)
Hinweis:
In PHP wird bei Klassennamen nicht zwischen Groß- und Kleinschreibung unterschieden, was sich auch in dieser Funktion widerspiegelt. Aliase, die mit class_alias() erstellt werden, werden in Kleinbuchstaben deklariert. Das bedeutet, dass im Fall der Klasse
MyClass
durch den Aufrufclass_alias('MyClass', 'MyClassAlias')
eine neue Alias-Klasse namensmyclassalias
erstellt wird.