System Architecture (eg. arm, x86_64, ...): x86_64
Your problem description
PH7 takes first method defined, if it does not match the arguments list.
This shows well below example, which defines 3 methods with the same name. Each of them takes different number of arguments.
<?php
class Test {
function a() {
echo 'I take 0 arguments' . PHP_EOL;
}
function a($a) {
echo 'I take 1 argument' . PHP_EOL;
}
function a($a, $b) {
echo 'I take 2 arguments' . PHP_EOL;
}
};
$t = new Test();
$t->a();
$t->a(1);
$t->a(1, 2);
$t->a(1, 2, 3);
?>
Should we treat this as a bug or as a feature?
Expected results
As PH7 does not emit any errors, expected output is:
I take 0 arguments
I take 1 argument
I take 2 arguments
Current results
Actual result is:
I take 0 arguments
I take 1 argument
I take 2 arguments
I take 0 arguments
<!--
1. Please speak English, this is the language all of us can speak and write.
2. Please take a moment to check that your issue doesn't already exist.
3. Please give all relevant information below for bug reports, because
incomplete details will be handled as an invalid report.
-->
# Aer Information
- Aer Version (or commit ref): d1b874b391
- Operating System: Linux
- System Architecture (eg. arm, x86_64, ...): x86_64
# Your problem description
PH7 takes first method defined, if it does not match the arguments list.
This shows well below example, which defines 3 methods with the same name. Each of them takes different number of arguments.
<?php
class Test {
function a() {
echo 'I take 0 arguments' . PHP_EOL;
}
function a($a) {
echo 'I take 1 argument' . PHP_EOL;
}
function a($a, $b) {
echo 'I take 2 arguments' . PHP_EOL;
}
};
$t = new Test();
$t->a();
$t->a(1);
$t->a(1, 2);
$t->a(1, 2, 3);
?>
Should we treat this as a bug or as a feature?
# Expected results
As PH7 does not emit any errors, expected output is:
I take 0 arguments
I take 1 argument
I take 2 arguments
# Current results
Actual result is:
I take 0 arguments
I take 1 argument
I take 2 arguments
I take 0 arguments
I added variadic functions to the ideas for future releases. There are already a lot of things to do and I think we can skip this feature for now. I think P# should strictly match number of arguments for now, doesnt it?
I added variadic functions to the ideas for future releases. There are already a lot of things to do and I think we can skip this feature for now. I think P# should strictly match number of arguments for now, doesnt it?
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Aer Information
d1b874b391Your problem description
PH7 takes first method defined, if it does not match the arguments list.
This shows well below example, which defines 3 methods with the same name. Each of them takes different number of arguments.
Should we treat this as a bug or as a feature?
Expected results
As PH7 does not emit any errors, expected output is:
I take 0 arguments
I take 1 argument
I take 2 arguments
Current results
Actual result is:
I take 0 arguments
I take 1 argument
I take 2 arguments
I take 0 arguments
This behaviour might lead to subtle bugs I think.
I added variadic functions to the ideas for future releases. There are already a lot of things to do and I think we can skip this feature for now. I think P# should strictly match number of arguments for now, doesnt it?