Non, il est impossible de le faire comme on pouvait s'y attendre.
De l'manual
:
PHP ne supporte pas la surcharge de fonctions, ni est-il possible ou la redéfinition de fonctions déjà déclarées.
Cependant, vous pouvez utiliser runkit_function_redefine
et ses cousines, mais il est certainement pas très élégant ...
Vous pouvez également utiliser create_function
faire quelque chose comme ceci:
<?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
?>
Comme runkit, ce n'est pas très élégant, mais ça donne le comportement que vous recherchez.
Nice, pourquoi cette réponse n'est-elle pas acceptée? – Pacerier
Très probablement, parce qu'il a été posté près de quatre ans après la question, et la réponse acceptée était probablement la plus pertinente à l'époque. –
Je suis toujours sur SO ... Accepté! –