Пустая страница, если я объявлю (strict_types = 1); в PHP 7 вверху файла
Недавно я проверял на PHP 7, в частностидекларация возвращаемого типа а такжетип подсказки, Я скомпилировал PHP 7 из исходного кода (главная ветка изGithub) и запустить его в виртуальной коробке Ubuntu 14.04. Я попытался запустить следующий код, чтобы получить тест новогоИсключения, Но это дало пустую страницу.
<?php
function test(): string {
return [];
}
echo test();
Затем я понимаю, что должен установить ошибку, которая будет отображаться на экране. Поэтому я добавил старомодныйini_set('display_errors', 1);
как ниже,
<?php
ini_set('display_errors', 1);
function test(): string {
return [];
}
echo test();
это дало мне следующийTypeError
как и ожидалось в соответствии с этимИнтерфейс Throwable RFC
Неустранимая ошибка: Uncaught TypeError: Возвращаемое значение test () должно быть строки типа, массив возвращен в /usr/share/nginx/html/test.php в строке 7 в /usr/share/nginx/html/test.php : 7 Трассировка стека: # 0 /usr/share/nginx/html/test.php(10): test () # 1 {main} добавляется в /usr/share/nginx/html/test.php в строке 7
Копая дальше я добавилdeclare(strict_types=1);
вверху, как показано ниже,
<?php declare(strict_types=1);
ini_set('display_errors', 1);
function test(): string {
return [];
}
echo test();
и взрыв, ошибка просто исчезла, оставив меня с пустой страницей. Я не могу понять, почему это дает мне пустую страницу?