Хозяину на заметку

Век живи – век учись…

Никогда бы не подумал, что это так важно, но, оказывается, в конце php-файлов лучше не закрывать php конструкцию фирменным  ?> – это не гигиенично. А вдруг вы случайно поставите Enter после него? Или пробел… Или еще что непонятное, а после передачи в браузер эта конструкция выведет черт-те что. Причем тяжело предсказать, что именно, так как  это зависит от файла, в котором была допущена такая оплошность.

Итак, php-файл, который содержит лишь php код, должен начинаться с <?php и не должен заканчиваться с ?>.

Написал тем людям, которые знаю, что любят самостоятельно что-то ковырять – но вдруг не понимают всей трагичности потенциальной ошибки…

комментариев 9

  1. Недавно заметил, что так сделано в functions.php от Twenty Ten.

    • У меня когда-то эта ошибка была в файле wp-config.php на WP 2.6.5. Мне тогда Иван Калинин помог решить, но он сам на своем блоге написал, так что вполне возможно, что ему подсказал кто-то еще (уж не ты ли? – помню, он здорово удивлялся тебе в тот период жизни)- уже не помню деталей. Но тогда я совсем не понял, почему вдруг все заработало. И только вот сегодня понял…

  2. Максим:

    Вообще-то, надо ставить закрывающий тэг.

    > А вдруг вы случайно поставите Enter после него? Или пробел…

    А вдруг вы случайно половину файла сотрете? Если с вами случаются такие “а вдруг”, то вам лучше просто не лезть в исходники.

    • Во-первых, и на старуху бывает сбрендивший сексуальный маньяк, а во-вторых, вы код CodeIgniter видели? Думаете Burak Guzel или Jeffrey Way часто стирают половину файла? Не зря же они не ставят ?>.

  3. aktuba:

    Один хороший человек подсказал мне это, когда я только начинал заниматься php. С тех пор никогда не ставлю ?>. И с тех же пор Zend раздражает – подставляет это автоматически =(

  4. Mac:

    Как-то рука не поднимается не поставить ?> :)

  5. Я никогда ранее не закрывал в своих классах, просто по банальной причине, что лень писать 2 символа. Чем ни меньше написано, тем проще.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *