This function will appear in PHP 5.3 (at least I can use it with PHP 5.3, build Aug 7 2009 08:21:14)
For older versions of PHP I wrote the next function:
<?php
if (!function_exists('class_alias')) {
function class_alias($original, $alias) {
eval('abstract class ' . $alias . ' extends ' . $original . ' {}');
}
}
?>
Keyword 'abstract' is used for classes, which defines abstract methods.
This function is used in autoload purposes (when I extend classes), so abstract keyword doesn't broke anything for me.
class_alias
()
class_alias — Creates an alias for a class
Opis
boolean class_alias
([ string $original
[, string $alias
]] )
Creates an alias named alias base on the defined class original . The aliased class is exactly the same as the original class.
Parametry
- original
-
The original class.
- alias
-
The alias name for the class.
Zwracane wartości
Zwraca TRUE w przypadku powodzenia, FALSE w przypadku błędu.
Przykłady
Przykład #1 class_alias() example
<?php
class foo { }
class_alias('foo', 'bar');
$a = new foo;
$b = new bar;
// the objects are the same
var_dump($a == $b, $a === $b);
var_dump($a instanceof $b);
// the classes are the same
var_dump($a instanceof foo);
var_dump($a instanceof bar);
var_dump($b instanceof foo);
var_dump($b instanceof bar);
?>
Powyższy przykład wyświetli:
bool(true) bool(false) bool(true) bool(true) bool(true) bool(true) bool(true)
Zobacz też:
- get_parent_class() - Pobiera nazwę klasy przodka dla obiektu lub klasy
- is_subclass_of() - Zwraca TRUE jeżeli klasa jest jednym z przodków obiektu
class_alias
paul [dot] kotets [at] gmail [dot] com
03-Sep-2009 10:43
03-Sep-2009 10:43
