<?php
class MyClass {
public function myMethod($foo) {
$reflection = new ReflectionMethod(__CLASS__, __FUNCTION__);
$arg_names = [];
foreach ($reflection->getParameters() as $parameter) {
$arg_names[] = $parameter->name;
}
if (!in_array('args', $arg_names)) {
echo "This is where the deprecation message would be set";
$args = func_get_args();
unset($args[0]);
}
echo $foo . "\n";
print_r($args);
}
}
class ChildClass extends MyClass {
public function myMethod($foo, ...$args) {
$reflection = new ReflectionMethod(__CLASS__, __FUNCTION__);
$arg_names = [];
foreach ($reflection->getParameters() as $parameter) {
$arg_names[] = $parameter->name;
}
if (!in_array('args', $arg_names)) {
echo "This is where the deprecation message would be set";
$args = func_get_args();
unset($args[0]);
}
echo $foo . "\n";
print_r($args);
}
}
$myClass = new MyClass();
$myClass->myMethod("Hi", "here", "are","some", "args");
echo "\n";
$childClass = new ChildClass();
$childClass->myMethod("Hi", "here", "are","some", "args");
preferences:
22.67 ms | 405 KiB | 5 Q