No, non è possibile fare questo, come ci si potrebbe aspettare.
Dal manual
:
PHP non supporta la funzione sovraccarico, né è possibile indefinire o ridefinire funzioni precedentemente dichiarate.
tuttavia, è possibile utilizzare runkit_function_redefine
e dei suoi cugini, ma non è sicuramente molto elegante ...
È inoltre possibile utilizzare create_function
per fare qualcosa di simile:
<?php
$func = create_function('$a,$b','return $a + $b;');
echo $func(3,5); // 8
$func = create_function('$a,$b','return $a * $b;');
echo $func(3,5); // 15
?>
Come runkit, non è molto elegante, ma dà il comportamento che stai cercando.
fonte
2009-02-10 00:25:18
Bello, perché questa risposta non è accettata? – Pacerier
Molto probabilmente, perché è stato pubblicato quasi quattro anni dopo la domanda, e la risposta accettata era probabilmente la più rilevante in quel momento. –
Sono ancora su SO ... Accettato! –