Algumas pessoas juram que fecham seus arquivos PHP ?>
, outras dizem que é mais otimizado deixá-lo de fora.
Sei que não é essencial tê-lo lá, só estou me perguntando quais são os prós e os contras de fazer isso e qual é a melhor prática.
php
code-formatting
Steve Robbins
fonte
fonte
If a file is pure PHP code, it is preferable to omit the PHP closing tag at the end of the file. This prevents accidental whitespace or new lines being added after the PHP closing tag, which may cause unwanted effects because PHP will start output buffering when there is no intention from the programmer to send any output at that point in the script.
Respostas:
Não é tanto uma questão de desempenho - analisar a trilha
?>
é trivial e não fará nenhuma diferença perceptível, a menos que você inclua um milhão de arquivos por segundo.IIRC, o php.net recomenda NÃO adicionar o
?>
, e os motivos são mais ou menos assim:?>
, que serão gerados no cliente, o que por sua vez pode levar a erros obscuros de 'cabeçalhos já enviados' (isso acontece quando um arquivo incluído contém espaços em branco e você tenta definir um cabeçalho após incluindo esse arquivo)fonte
Não, eles estão errados.
?>
é opcional no PHP no final de um arquivo. E você encontrará uma boa razão para isso. O mais importante é que um espaço vazio no final de um arquivo não impeça o envio de cabeçalhos. Este é um bug difícil de detectar, pois você pode encontrá-lo em qualquer arquivo em qualquer lugar.A maneira usual de fazer isso é colocar uma marca de fechamento quando o PHP é misturado com HTML e não colocá-la para arquivos PHP puros. É até um padrão de codificação do framework ZEND e muitos outros.
Otimizado significa que o código é executado mais rapidamente. É fácil provar que eles estão errados. Perfile o código e descubra que eles estão lhe dizendo besteira.
fonte
Eu acho que é recomendado para iniciantes para evitar adicioná-lo para que eles não façam com que caracteres extras de nova linha sejam enviados acidentalmente. Como não é essencial tê-lo como você mencionou, acho que o raciocínio geral é que é melhor deixá-lo para evitar erros.
Eu não acho que haja qualquer "otimização" envolvida.
Eu gostaria de indicá-lo aqui: /programming/4410704/php-closing-tag e aqui: /programming/3219383/why-do-some-scripts-omit-the -closing-php-tag
fonte
?>
arquivos contendo PHP puro.