> É verdade? Aplica-se a todos os ficheiros? É só no Drupal ou é > transversal ao PHP? Obrigado a todos.
Parece-me mais uma aberração.
Pode-se usar uma analogia simples: todos os browsers suportam que não se fechem as tags de body e html, no fim do ficheiro. Aliás os browsers suportam uma data de falhas no HTML e tentam sempre fazer o melhor para mostrar a coisa. Mas não é por isso que se deve deixar de escrever correctamente o HTML. Poupam-se 10 ou 20 bytes se não se fecharem algumas tags na comunicação, mas perde-se muito mais noutras coisas.
Os algoritmos de parsing ficam bem mais complicados para suportar os erros sintáticos; a visualização começa a ser diferente, consoante a decisão do browser em caso de erro; os robots de indexação têm mais dificuldades; mecanismos de extração de conhecimento ficam mais complexos e mais sujeitos a erros, etc, etc.
Em resumo, uma aberração. É por causa destas coisas, que é tão difícil desenvolver para a web. Tudo é permitido, até erros. Por mim, páginas com erros nem deviam ser existir... Mas isto é apenas uma opinião pessoal.
Claro que, no caso concreto do PHP, é "quase" indiferente por lá o fim de "processing instruction". O PHP corre no lado do servidor, e o HTML gerado pode estar bem na mesma, mesmo sem o ?> final. Também é óbvio que se o ficheiro terminar com o ?> não são escritos no output mais caracteres brancos. Por isso, não sei onde se ganha em performance. Ou melhor, tenho a certeza que não se ganha absolutamente nada em performance. E se dizem que se ganha, ou mostram o tempo de geração das páginas e respectivo tempo de transmissão melhorado, ou estão a inventar...
PS: Jorge, claramente não leste o mail original.. Está-se a falar de fechar as tags finais nos ficheiros PHP, do Drupal e não das tags HTML que obviamente deviam ser fechadas de modo a passar num validador de (X)HTML.
> > É verdade? Aplica-se a todos os ficheiros? É só no Drupal ou é > > transversal ao PHP? Obrigado a todos.
> Parece-me mais uma aberração.
> Pode-se usar uma analogia simples: todos os browsers suportam que não se > fechem as tags de body e html, no fim do ficheiro. Aliás os browsers > suportam uma data de falhas no HTML e tentam sempre fazer o melhor para > mostrar a coisa. Mas não é por isso que se deve deixar de escrever > correctamente o HTML. Poupam-se 10 ou 20 bytes se não se fecharem > algumas tags na comunicação, mas perde-se muito mais noutras coisas.
> Os algoritmos de parsing ficam bem mais complicados para suportar os > erros sintáticos; a visualização começa a ser diferente, consoante a > decisão do browser em caso de erro; os robots de indexação têm mais > dificuldades; mecanismos de extração de conhecimento ficam mais > complexos e mais sujeitos a erros, etc, etc.
> Em resumo, uma aberração. É por causa destas coisas, que é tão difícil > desenvolver para a web. Tudo é permitido, até erros. Por mim, páginas > com erros nem deviam ser existir... Mas isto é apenas uma opinião > pessoal.
> Claro que, no caso concreto do PHP, é "quase" indiferente por lá o fim > de "processing instruction". O PHP corre no lado do servidor, e o HTML > gerado pode estar bem na mesma, mesmo sem o ?> final. Também é óbvio que > se o ficheiro terminar com o ?> não são escritos no output mais > caracteres brancos. Por isso, não sei onde se ganha em performance. Ou > melhor, tenho a certeza que não se ganha absolutamente nada em > performance. E se dizem que se ganha, ou mostram o tempo de geração das > páginas e respectivo tempo de transmissão melhorado, ou estão a > inventar...
> PS: Jorge, claramente não leste o mail original.. Está-se a falar de > fechar as tags finais nos ficheiros PHP, do Drupal e não das tags HTML > que obviamente deviam ser fechadas de modo a passar num validador de > (X)HTML.
Eu li o email original. Comecei com uma analogia (e para isso usei o HTML), mas depois referi-me explicitamente à questão concreta do PHP, certo? Qual foi a parte do email que eu não li? Claramente não leste a minha resposta toda :-)
> > É verdade? Aplica-se a todos os ficheiros? É só no Drupal ou > é > > transversal ao PHP? Obrigado a todos.
> Parece-me mais uma aberração.
> Pode-se usar uma analogia simples: todos os browsers suportam > que não se > fechem as tags de body e html, no fim do ficheiro. Aliás os > browsers > suportam uma data de falhas no HTML e tentam sempre fazer o > melhor para > mostrar a coisa. Mas não é por isso que se deve deixar de > escrever > correctamente o HTML. Poupam-se 10 ou 20 bytes se não se > fecharem > algumas tags na comunicação, mas perde-se muito mais noutras > coisas.
> Os algoritmos de parsing ficam bem mais complicados para > suportar os > erros sintáticos; a visualização começa a ser diferente, > consoante a > decisão do browser em caso de erro; os robots de indexação têm > mais > dificuldades; mecanismos de extração de conhecimento ficam > mais > complexos e mais sujeitos a erros, etc, etc.
> Em resumo, uma aberração. É por causa destas coisas, que é tão > difícil > desenvolver para a web. Tudo é permitido, até erros. Por mim, > páginas > com erros nem deviam ser existir... Mas isto é apenas uma > opinião > pessoal.
> Claro que, no caso concreto do PHP, é "quase" indiferente por > lá o fim > de "processing instruction". O PHP corre no lado do servidor, > e o HTML > gerado pode estar bem na mesma, mesmo sem o ?> final. Também é > óbvio que > se o ficheiro terminar com o ?> não são escritos no output > mais > caracteres brancos. Por isso, não sei onde se ganha em > performance. Ou > melhor, tenho a certeza que não se ganha absolutamente nada em > performance. E se dizem que se ganha, ou mostram o tempo de > geração das > páginas e respectivo tempo de transmissão melhorado, ou estão > a > inventar...
Realmente, peço desculpa.. Não cheguei ao teu parágrafo final.. Confundi-me com a parte da analogia... :)
De qualquer forma a coisa não se aplica. A best practice em PHP é não fechar o ficheiro com ?>.. A best practice é (X)HTML é fechar tudo. Concordo que possa ser um bocado estranho, mas aí o problema deriva da principal força do PHP: a sua facilidade em "despejar" coisas para o browser do cliente, mesmo que até saiam antes dos headers HTTP. Para que isto não acontecesse, deveria ser obrigatório fazer "echo/print" para fazer output, mas aí lá se iam os .php que são 90% HTML.
> > PS: Jorge, claramente não leste o mail original.. Está-se a falar de > > fechar as tags finais nos ficheiros PHP, do Drupal e não das tags HTML > > que obviamente deviam ser fechadas de modo a passar num validador de > > (X)HTML.
> Eu li o email original. Comecei com uma analogia (e para isso usei o > HTML), mas depois referi-me explicitamente à questão concreta do PHP, > certo? Qual foi a parte do email que eu não li? Claramente não leste a > minha resposta toda :-)
> > > É verdade? Aplica-se a todos os ficheiros? É só no Drupal ou > > é > > > transversal ao PHP? Obrigado a todos.
> > Parece-me mais uma aberração.
> > Pode-se usar uma analogia simples: todos os browsers suportam > > que não se > > fechem as tags de body e html, no fim do ficheiro. Aliás os > > browsers > > suportam uma data de falhas no HTML e tentam sempre fazer o > > melhor para > > mostrar a coisa. Mas não é por isso que se deve deixar de > > escrever > > correctamente o HTML. Poupam-se 10 ou 20 bytes se não se > > fecharem > > algumas tags na comunicação, mas perde-se muito mais noutras > > coisas.
> > Os algoritmos de parsing ficam bem mais complicados para > > suportar os > > erros sintáticos; a visualização começa a ser diferente, > > consoante a > > decisão do browser em caso de erro; os robots de indexação têm > > mais > > dificuldades; mecanismos de extração de conhecimento ficam > > mais > > complexos e mais sujeitos a erros, etc, etc.
> > Em resumo, uma aberração. É por causa destas coisas, que é tão > > difícil > > desenvolver para a web. Tudo é permitido, até erros. Por mim, > > páginas > > com erros nem deviam ser existir... Mas isto é apenas uma > > opinião > > pessoal.
> > Claro que, no caso concreto do PHP, é "quase" indiferente por > > lá o fim > > de "processing instruction". O PHP corre no lado do servidor, > > e o HTML > > gerado pode estar bem na mesma, mesmo sem o ?> final. Também é > > óbvio que > > se o ficheiro terminar com o ?> não são escritos no output > > mais > > caracteres brancos. Por isso, não sei onde se ganha em > > performance. Ou > > melhor, tenho a certeza que não se ganha absolutamente nada em > > performance. E se dizem que se ganha, ou mostram o tempo de > > geração das > > páginas e respectivo tempo de transmissão melhorado, ou estão > > a > > inventar...
> Realmente, peço desculpa.. Não cheguei ao teu parágrafo final.. Confundi-me > com a parte da analogia... :)
> De qualquer forma a coisa não se aplica. A best practice em PHP é não > fechar o ficheiro com ?>.. A best practice é (X)HTML é fechar tudo. Concordo > que possa ser um bocado estranho, mas aí o problema deriva da principal > força do PHP: a sua facilidade em "despejar" coisas para o browser do > cliente, mesmo que até saiam antes dos headers HTTP. Para que isto não > acontecesse, deveria ser obrigatório fazer "echo/print" para fazer output, > mas aí lá se iam os .php que são 90% HTML.
>> > PS: Jorge, claramente não leste o mail original.. Está-se a falar de >> > fechar as tags finais nos ficheiros PHP, do Drupal e não das tags HTML >> > que obviamente deviam ser fechadas de modo a passar num validador de >> > (X)HTML.
>> Eu li o email original. Comecei com uma analogia (e para isso usei o >> HTML), mas depois referi-me explicitamente à questão concreta do PHP, >> certo? Qual foi a parte do email que eu não li? Claramente não leste a >> minha resposta toda :-)
>> > > É verdade? Aplica-se a todos os ficheiros? É só no Drupal ou >> > é >> > > transversal ao PHP? Obrigado a todos.
>> > Parece-me mais uma aberração.
>> > Pode-se usar uma analogia simples: todos os browsers suportam >> > que não se >> > fechem as tags de body e html, no fim do ficheiro. Aliás os >> > browsers >> > suportam uma data de falhas no HTML e tentam sempre fazer o >> > melhor para >> > mostrar a coisa. Mas não é por isso que se deve deixar de >> > escrever >> > correctamente o HTML. Poupam-se 10 ou 20 bytes se não se >> > fecharem >> > algumas tags na comunicação, mas perde-se muito mais noutras >> > coisas.
>> > Os algoritmos de parsing ficam bem mais complicados para >> > suportar os >> > erros sintáticos; a visualização começa a ser diferente, >> > consoante a >> > decisão do browser em caso de erro; os robots de indexação têm >> > mais >> > dificuldades; mecanismos de extração de conhecimento ficam >> > mais >> > complexos e mais sujeitos a erros, etc, etc.
>> > Em resumo, uma aberração. É por causa destas coisas, que é tão >> > difícil >> > desenvolver para a web. Tudo é permitido, até erros. Por mim, >> > páginas >> > com erros nem deviam ser existir... Mas isto é apenas uma >> > opinião >> > pessoal.
>> > Claro que, no caso concreto do PHP, é "quase" indiferente por >> > lá o fim >> > de "processing instruction". O PHP corre no lado do servidor, >> > e o HTML >> > gerado pode estar bem na mesma, mesmo sem o ?> final. Também é >> > óbvio que >> > se o ficheiro terminar com o ?> não são escritos no output >> > mais >> > caracteres brancos. Por isso, não sei onde se ganha em >> > performance. Ou >> > melhor, tenho a certeza que não se ganha absolutamente nada em >> > performance. E se dizem que se ganha, ou mostram o tempo de >> > geração das >> > páginas e respectivo tempo de transmissão melhorado, ou estão >> > a >> > inventar...
>> > Abraço,
>> > Jorge
> -- > Recebeu esta mensagem porque está inscrito no grupo "Drupal Portugal" dos > Grupos do Google. > Para publicar uma mensagem neste grupo, envie um e-mail para > drupal-portugal@googlegroups.com. > Para anular a inscrição neste grupo, envie um e-mail para > drupal-portugal+unsubscribe@googlegroups.com. > Para ver mais opções, visite este grupo em > http://groups.google.com/group/drupal-portugal?hl=pt-PT.