Bem, existem duas maneiras de ver isso.
- O código PHP nada mais é do que um conjunto de instruções de processamento XML e, portanto, qualquer arquivo com uma
.php
extensão nada mais é do que um arquivo XML que, por acaso, é analisado pelo código PHP.
- Por acaso, o PHP compartilha o formato de instruções de processamento XML para suas tags de abertura e fechamento. Com base nisso, arquivos com
.php
extensões PODEM ser arquivos XML válidos, mas eles não precisam ser.
Se você acredita na primeira rota, todos os arquivos PHP exigem o fechamento de tags finais. Omiti-los criará um arquivo XML inválido. Por outro lado, sem ter uma <?xml version="1.0" charset="latin-1" ?>
declaração de abertura , você não terá um arquivo XML válido de qualquer maneira ... Portanto, não é um problema importante ...
Se você acredita na segunda rota, isso abre a porta para dois tipos de .php
arquivos:
- Arquivos que contêm apenas código (arquivos de biblioteca, por exemplo)
- Arquivos que contêm XML nativo e também código (arquivos de modelo, por exemplo)
Com base nisso, os arquivos somente de código podem terminar sem uma ?>
marca de fechamento . Mas os arquivos de código XML não podem terminar sem um fechamento, ?>
pois isso invalidaria o XML.
Mas eu sei o que você está pensando. Você está pensando no que isso importa, nunca processará diretamente um arquivo PHP, então quem se importa se é XML válido. Bem, importa se você está criando um modelo. Se for XML / HTML válido, um navegador normal simplesmente não exibirá o código PHP (é tratado como um comentário). Assim, você pode simular o modelo sem precisar executar o código PHP dentro de ...
Não estou dizendo que isso é importante. É apenas uma visão que eu não vejo expressa com muita frequência, então qual o melhor lugar para compartilhá-lo ...
Pessoalmente, não fecho tags nos arquivos da biblioteca, mas nos arquivos de modelo ... Eu acho que é uma preferência pessoal (e orientação de codificação) baseada mais do que qualquer coisa difícil ...