Skip to content

Commit 06cd489

Browse files
committed
update README.md and fix bug
1 parent d589142 commit 06cd489

2 files changed

Lines changed: 14 additions & 5 deletions

File tree

README.md

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,27 +19,36 @@ class SomeController extends Controller
1919
$b = func_get_args()[1];
2020
$c = func_get_args()[2];
2121
}
22-
22+
2323
// For route: /{a}/{b}/{c}
2424
// ❌ Parameter name does not match the variable name defined in the route.
2525
public function method($aa, $bb, $cc)
2626
{
2727
// ....
2828
}
29-
29+
3030
// For route: /{a}/{b}/{c}
3131
// ❗️ The number of parameters does not match the number of variables defined in the route.
3232
public function method($a, $b)
3333
{
3434
$c = func_get_args()[2];
3535
}
36-
36+
3737
// For route: /{a}/{b}/{c}
3838
// ✅
3939
public function method($a, $b, $c)
4040
{
4141
// .....
4242
}
43+
44+
// For route: /{a}/{b}/{c}
45+
// ✅
46+
public function method($c, $a, $b)
47+
{
48+
return $c.'-'.$a.'-'.$b;
49+
// /a/b/c
50+
// output: c-a-b
51+
}
4352
}
4453
```
4554

src/Route/Dispatcher.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ public function resolveMethodDependencies(array $parameters, ReflectionFunctionA
2626

2727
if ($instance !== $skippableValue) {
2828
$arrangedParameters[$parameter->getName()] = $instance;
29-
} else if($parameter->isDefaultValueAvailable()) {
30-
$arrangedParameters[$parameter->getName()] = $parameter->getDefaultValue();
29+
} else {
30+
$arrangedParameters[$parameter->getName()] = array_key_exists($parameter->getName(), $parameters) ? $parameters[$parameter->getName()] : ($parameter->isDefaultValueAvailable() ? $parameter->getDefaultValue() : null);
3131
}
3232
}
3333

0 commit comments

Comments
 (0)