Página em branco se eu declarar (strict_types = 1); no PHP 7 na parte superior do arquivo
Recentemente eu estava checando o PHP 7, especificamentedeclaração de tipo de retorno etipo de dica. Eu compilei o PHP 7 a partir da fonte (ramo principal deGithub) e executá-lo na caixa virtual Ubuntu 14.04. Tentei executar o código a seguir para fazer um teste de novoExceções. Mas deu uma página em branco.
<?php
function test(): string {
return [];
}
echo test();
Então percebo que tenho que definir o erro para ser exibido na tela. Então eu adicionei à moda antigaini_set('display_errors', 1);
como abaixo,
<?php
ini_set('display_errors', 1);
function test(): string {
return [];
}
echo test();
que me deu o seguinteTypeError
conforme o esperado de acordo com esteInterface jogável RFC
Erro fatal: TypeError não capturado: o valor de retorno de test () deve ser do tipo string, matriz retornada em /usr/share/nginx/html/test.php na linha 7 em /usr/share/nginx/html/test.php : 7 Rastreio de pilha: # 0 /usr/share/nginx/html/test.php(10): test () # 1 {main} lançado em /usr/share/nginx/html/test.php na linha 7
Cavando mais, eu adicioneideclare(strict_types=1);
no topo como abaixo,
<?php declare(strict_types=1);
ini_set('display_errors', 1);
function test(): string {
return [];
}
echo test();
e bang, o erro acabou de desaparecer, deixando-me com uma página em branco. Não consigo descobrir por que está me dando uma página em branco?