DTD это так... На самом деле далеко не самое важное. Валидатор у w3 приучен к ним, чтобы люди их ставили, однако браузер не принимает XHTML как XHTML, если его тип — text/html. Суровая правда жизни.
Вообще, XHTML переданный как text/html парсится как HTML, к которому кто-то с бодуна приписал кучу «/».
Если мы require() файл, в котором после закрывающего тега пустые символы, то они выводятся браузеру. После этого попробовав послать header() натыкаемся на то, что header должен быть послан до любого outputа.
1) Если я правильно понимаю, то этот код вначале парсит PHP, а результат (такой:
<?xml version='1.0' encoding='windows-1251'?>
<xml>
<foo>TEST</foo>
</xml>
) отдаётся XML парсеру. XML парсер вообще не получает PHP тагов.
2) Вот. Вот это серьёзный аргумент, первый из всех комментариев тут. Тогда да, те кто практикуют подобное должны иметь это ввиду.
3) Ну да, простите. Те таги могут использоваться на своих development серверах. Но смысла немного. :(
Закрывать тег «br», например, в HTML (не XHTML!) таким вот образом — <br /> — это неправильно. Парсится это браузером, как таг BR с аттрибутом «/», которого браузер не знает.
Так же парсится этот таг и в «XHTML», переданном как text/html.
Если же <br /> использован в XHTML, переданном как application/xhtml+xml или application/xml, то всё в порядке. Правда IE такой тип не понимает. :)
1) Не просвещён в этой сфере. Но если так, то скажите, как вы будете XMLом парсить файл "<?php echo '?><foo><?php'; ?>
Не будет ли он говорить, что тэг <foo> не закрыт?
2) Если есть последний блок инструкций, лежащий в конце файла, то может быть и ?>, лежащий в конце файла.
Кстати, ни <? ни <?= (в вашем примере чуть выше) употребляться в PHP не должны.
В трёх местах обсуждения этого топика мне указано на то, что закрывающий таг нужен.
Хотя я ценю культуру программирования, но я всегда подхожу к этому разумно.
Например, переход с function foo() {
}
на functio nfoo()
{
}
мне дался очень сложно, потому что я никак не могу уловить смысла новой строки тут.
Так и здесь. Не могли бы вы аргументировать смысл закрывыющего тэга?
Поскольку второй require_once нисколько не занимает времени, значит он не инклюдит всё же.
Не могли бы вы поподробнее о flock? Я тут слаб, а функция с php.net.
DTD это так... На самом деле далеко не самое важное. Валидатор у w3 приучен к ним, чтобы люди их ставили, однако браузер не принимает XHTML как XHTML, если его тип — text/html. Суровая правда жизни.
Вообще, XHTML переданный как text/html парсится как HTML, к которому кто-то с бодуна приписал кучу «/».
Он что, умеет PHP таги выделять и парсить PHP код?
Но тут дефолтный поиск без keywordа!
<?xml version='1.0' encoding='windows-1251'?>
<xml>
<foo>TEST</foo>
</xml>
) отдаётся XML парсеру. XML парсер вообще не получает PHP тагов.
2) Вот. Вот это серьёзный аргумент, первый из всех комментариев тут. Тогда да, те кто практикуют подобное должны иметь это ввиду.
3) Ну да, простите. Те таги могут использоваться на своих development серверах. Но смысла немного. :(
Как начинающему мне очень важна ваша поддержка.
Так же парсится этот таг и в «XHTML», переданном как text/html.
Если же <br /> использован в XHTML, переданном как application/xhtml+xml или application/xml, то всё в порядке. Правда IE такой тип не понимает. :)
И вообще я страдал таким «закрывательством» раньше. Даже в HTML, пока не понимал, что это такое.
Не будет ли он говорить, что тэг <foo> не закрыт?
2) Если есть последний блок инструкций, лежащий в конце файла, то может быть и ?>, лежащий в конце файла.
Кстати, ни <? ни <?= (в вашем примере чуть выше) употребляться в PHP не должны.
2) Речь идёт о ?> в конце файла.
...
Речь идёт о ?> в конце файла.
А зачем вы его будете парсить xml-парсером?
А что вы будете делать с таким файлом:
<?php
echo '?>';
?>
Хотя я ценю культуру программирования, но я всегда подхожу к этому разумно.
Например, переход с
function foo() {
}
на
functio nfoo()
{
}
мне дался очень сложно, потому что я никак не могу уловить смысла новой строки тут.
Так и здесь. Не могли бы вы аргументировать смысл закрывыющего тэга?