Este es un ejemplo de sobrecarga del Manual de PHP
Código PHP:
Ver original<?php
class SobreCarga
{
public function __call($metodo, $parametros)
// Si la Funcion no Existe
throw new Exception
('Metodo Desconocido: '.get_class($this).'::'.$metodo); }
function Param2($a, $b) {
echo "<br />Param2($a,$b)\n";
}
function Param3($a, $b, $c) {
echo "<br />Param3($a,$b,$c)\n";
}
}
$o = new SobreCarga();
$o->Param(4,5);
$o->Param(4,5,6);
$o->ParamX(4,5,6,7);
?>
// La salida de este script seria:
Param2(4,5)
Param3(4,5,6)
Fatal error: Uncaught exception 'Exception' with message 'Metodo Desconocido: SobreCarga::ParamX' in C:\xampp\htdocs\buscadorFullText\buscadorFullText\SobreCarga.php:7 Stack trace: #0 C:\xampp\htdocs\buscadorFullText\buscadorFullText\SobreCarga.php(22): SobreCarga->__call('ParamX', Array) #1 C:\xampp\htdocs\buscadorFullText\buscadorFullText\SobreCarga.php(22): SobreCarga->ParamX(4, 5, 6, 7) #2 {main} thrown in C:\xampp\htdocs\buscadorFullText\buscadorFullText\SobreCarga.php on line 7
Si ves desde fuera de la clase, esta sobrecarga simula bastante la tradicional, es decir utilizas el mismo método con distintos parámetros y se ejecutan distintos métodos aunque si ves la implementación aquí es donde se ve que no es una implementación normal de sobrecarga. A esto es a lo que supongo que dice el manual de php que no es normal.
Saludos