<?php
class foo {
public function __call($name, $args) {
switch ($name) {
case 'a':
switch (count($args)) {
case 0:
return call_user_func_array(array($this, 'a'), $args);
break;
case 1:
return call_user_func_array(array($this, 'ab'), $args);
break;
}
}
}
public function a() {
return 'a called';
}
public function ab($a) {
return 'a with paramter called';
}
}
print_r((new foo)->a(2));
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
a called