|
1 | 1 | <?php
|
2 | 2 |
|
3 |
| -/* |
4 |
| - * By adding type hints and enabling strict type checking, code can become |
5 |
| - * easier to read, self-documenting and reduce the number of potential bugs. |
6 |
| - * By default, type declarations are non-strict, which means they will attempt |
7 |
| - * to change the original type to match the type specified by the |
8 |
| - * type-declaration. |
9 |
| - * |
10 |
| - * In other words, if you pass a string to a function requiring a float, |
11 |
| - * it will attempt to convert the string value to a float. |
12 |
| - * |
13 |
| - * To enable strict mode, a single declare directive must be placed at the top |
14 |
| - * of the file. |
15 |
| - * This means that the strictness of typing is configured on a per-file basis. |
16 |
| - * This directive not only affects the type declarations of parameters, but also |
17 |
| - * a function's return type. |
18 |
| - * |
19 |
| - * For more info review the Concept on strict type checking in the PHP track |
20 |
| - * <link>. |
21 |
| - * |
22 |
| - * To disable strict typing, comment out the directive below. |
23 |
| - */ |
24 |
| - |
25 | 3 | declare(strict_types=1);
|
26 | 4 |
|
27 |
| -function meetup_day($year, $month, $which, $weekday) |
| 5 | +function meetup_day(int $year, int $month, string $which, string $weekday): DateTimeImmutable |
28 | 6 | {
|
29 |
| - $monthName = DateTimeImmutable::createFromFormat("!m", $month)->format('F'); |
| 7 | + $monthName = DateTimeImmutable::createFromFormat("!m", "$month")->format('F'); |
30 | 8 | if ($which != "teenth") {
|
31 | 9 | return new DateTimeImmutable("$which $weekday of $monthName $year");
|
32 | 10 | }
|
|
0 commit comments