Почему route в Codeigniter 4, присваивает неверное значение параметру контроллера?
Возникла непонятная ситуация. При передаче значения false
в обычную функцию, где по-умолчанию значение = null
присвоение или вывод значения происходит правильно:
function some(?bool $a = null)
{
var_dump($a);
}
some();
some(true);
some(false);
Результат:
NULL
bool(true)
bool(false)
Однако, когда я попытался передать тоже самое в параметр контроллера через route
, то для значения false
вывелось true
, что, соответственно, дало неверные результаты. Из-за чего такое могло произойти? Может codeigniter как-то по-другому false
в параметре обрабатывает?
Route
-ы:
$routes->get('default', 'Results::index');
$routes->get('successful', 'Results::index/true');
$routes->get('errors', 'Results::index/false');
Controller:
public function index(?bool $decline = null)
{
var_dump($decline);
exit;
}
Результат:
NULL
bool(true)
bool(true)