(PHP 5 >= 5.3.0, PHP 7)
forward_static_call — Llamar a un método estático
Llama a una función o método definido por el usuario, dado por el parámetro
function
, con los siguientes argumentos. Esta función debe ser llamada dentro
del contexto de un método, no se puede usar fuera de una clase.
Usa el Enlace estático
en tiempo de ejecución.
function
La función o método a ser llamado. Este parámetro puede ser una matriz, con el nombre de la clase y del método, o una cadena, con el nombre una función.
parameter
Cero o más parámetros a ser pasados a la función.
Devuelve el resultado de la función, o FALSE
en caso de error.
Ejemplo #1 Ejemplo de forward_static_call()
<?php
class A
{
const NOMBRE = 'A';
public static function prueba() {
$args = func_get_args();
echo static::NOMBRE, " ".join(',', $args)." \n";
}
}
class B extends A
{
const NOMBRE = 'B';
public static function prueba() {
echo self::NOMBRE, "\n";
forward_static_call(array('A', 'prueba'), 'más', 'args');
forward_static_call( 'prueba', 'otro', 'args');
}
}
B::prueba('foo');
function prueba() {
$args = func_get_args();
echo "C ".join(',', $args)." \n";
}
?>
El resultado del ejemplo sería:
B B más,args C otro,args