HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>Главный секрет PHP заключается в том, что сам язык - шаблонизатор. Если посмотреть на другой язык, в его файлах нельзя увидеть ничего похожего на теги &lt;?php ... ?&gt;.</p>
1 <p>Главный секрет PHP заключается в том, что сам язык - шаблонизатор. Если посмотреть на другой язык, в его файлах нельзя увидеть ничего похожего на теги &lt;?php ... ?&gt;.</p>
2 <p>В PHP любой файл с кодом - это шаблон. Причем этот шаблон не имеет структуры, как бывает в<a>некоторых</a>шаблонизаторах.</p>
2 <p>В PHP любой файл с кодом - это шаблон. Причем этот шаблон не имеет структуры, как бывает в<a>некоторых</a>шаблонизаторах.</p>
3 <p>Мы можем создать PHP-файл, написать любой текст вне тегов &lt;?php ?&gt; и запустить код на выполнение. При этом он не упадет с указанием синтаксической ошибки.</p>
3 <p>Мы можем создать PHP-файл, написать любой текст вне тегов &lt;?php ?&gt; и запустить код на выполнение. При этом он не упадет с указанием синтаксической ошибки.</p>
4 <p>Содержимое<em>index.php</em>:</p>
4 <p>Содержимое<em>index.php</em>:</p>
5 <p>Запуск этого кода выведет весь текст на экран:</p>
5 <p>Запуск этого кода выведет весь текст на экран:</p>
6 <p>То же самое касается HTML, так как это всего лишь текст. Достаточно в любом PHP-файле добавить немного HTML и запустить его, как он будет выведен на экран:</p>
6 <p>То же самое касается HTML, так как это всего лишь текст. Достаточно в любом PHP-файле добавить немного HTML и запустить его, как он будет выведен на экран:</p>
7 <p>Содержимое<em>index.php</em>:</p>
7 <p>Содержимое<em>index.php</em>:</p>
8 <p>Запуск этого кода выведет весь текст на экран:</p>
8 <p>Запуск этого кода выведет весь текст на экран:</p>
9 <p>Такое поведение языка существует исключительно ради создания сайтов. Если запустить веб-сервер в директории с этим файлом<em>index.php</em>, то при обращении к этому сайту мы получим вывод как в терминале. Это значит, что мы можем заменить такой код:</p>
9 <p>Такое поведение языка существует исключительно ради создания сайтов. Если запустить веб-сервер в директории с этим файлом<em>index.php</em>, то при обращении к этому сайту мы получим вывод как в терминале. Это значит, что мы можем заменить такой код:</p>
10 <p>На такой:</p>
10 <p>На такой:</p>
11 <p>Отсюда следует важный вывод. Любой PHP-файл - это обычный текстовый файл со вставками PHP-кода с помощью тегов &lt;?php ?&gt;. Любой текст, написанный внутри него, отдается в вывод как есть, будь то браузер или запуск в командной строке.</p>
11 <p>Отсюда следует важный вывод. Любой PHP-файл - это обычный текстовый файл со вставками PHP-кода с помощью тегов &lt;?php ?&gt;. Любой текст, написанный внутри него, отдается в вывод как есть, будь то браузер или запуск в командной строке.</p>
12 <p>Теперь добавим немного PHP. Шаблон становится шаблоном, когда внутри него появляется подстановка данных. Принцип работы: в любом месте шаблона вставляются теги &lt;?php ?&gt;, внутри которых можно написать код. Фактически мы имеем дело с обычной строковой интерполяцией:</p>
12 <p>Теперь добавим немного PHP. Шаблон становится шаблоном, когда внутри него появляется подстановка данных. Принцип работы: в любом месте шаблона вставляются теги &lt;?php ?&gt;, внутри которых можно написать код. Фактически мы имеем дело с обычной строковой интерполяцией:</p>
13 <p>Добавим немного программирования. Запуск следующего кода вернет такой же результат, что и код выше:</p>
13 <p>Добавим немного программирования. Запуск следующего кода вернет такой же результат, что и код выше:</p>
14 <p>В этом примере мы добавили один блок сверху файла, внутри которого создали переменную. Затем мы использовали ее в другой вставке.</p>
14 <p>В этом примере мы добавили один блок сверху файла, внутри которого создали переменную. Затем мы использовали ее в другой вставке.</p>
15 <p>Все содержимое файла находится в одном пространстве и блоки кода, определенные дальше по тексту, имеют доступ к данным предыдущих блоков. Что важно, подстановка данных из кода происходит только в том случае, если этот код выполняет печать:</p>
15 <p>Все содержимое файла находится в одном пространстве и блоки кода, определенные дальше по тексту, имеют доступ к данным предыдущих блоков. Что важно, подстановка данных из кода происходит только в том случае, если этот код выполняет печать:</p>
16 <p>Вывод на экран после запуска:</p>
16 <p>Вывод на экран после запуска:</p>
17 <p>Для удобства вставки кода в HTML PHP предлагает альтернативный синтаксис для стандартных конструкций языка. Например, для вставки значения используется сокращенная версия тега начала PHP-кода: &lt;?= &lt;код на php&gt; ?&gt;. Она отличается от полной тем, что вместо &lt;?php echo ... используется &lt;?= ....</p>
17 <p>Для удобства вставки кода в HTML PHP предлагает альтернативный синтаксис для стандартных конструкций языка. Например, для вставки значения используется сокращенная версия тега начала PHP-кода: &lt;?= &lt;код на php&gt; ?&gt;. Она отличается от полной тем, что вместо &lt;?php echo ... используется &lt;?= ....</p>
18 <p><strong>Сокращенная вставка</strong></p>
18 <p><strong>Сокращенная вставка</strong></p>
19 <p><strong>If</strong></p>
19 <p><strong>If</strong></p>
20 <p><strong>Switch</strong></p>
20 <p><strong>Switch</strong></p>
21 <p><strong>Foreach</strong></p>
21 <p><strong>Foreach</strong></p>
22 <p>С одной стороны поддержка CGI внутри самого языка позволяет начать делать сайт "на коленке" без особых знаний программирования и HTTP, что многие и делают. С другой - PHP толкает к созданию не поддерживаемого кода, который не может никто прочитать кроме автора.</p>
22 <p>С одной стороны поддержка CGI внутри самого языка позволяет начать делать сайт "на коленке" без особых знаний программирования и HTTP, что многие и делают. С другой - PHP толкает к созданию не поддерживаемого кода, который не может никто прочитать кроме автора.</p>
23 <p>Посмотрите сами:</p>
23 <p>Посмотрите сами:</p>
24 <p>Такой способ программирования возможен только в PHP, потому что только PHP это сразу и язык, и шаблонизатор, и CGI-скрипт. При таком способе организации кода сайт быстро начинает представлять собой мешанину HTML и PHP.</p>
24 <p>Такой способ программирования возможен только в PHP, потому что только PHP это сразу и язык, и шаблонизатор, и CGI-скрипт. При таком способе организации кода сайт быстро начинает представлять собой мешанину HTML и PHP.</p>
25 <p>Если количество разных страниц сайта достигнет хотя бы десятка, то поддержка уже станет намного сложнее. Безопасность такой шаблонизации находится на нуле (см.<a>XSS</a>).</p>
25 <p>Если количество разных страниц сайта достигнет хотя бы десятка, то поддержка уже станет намного сложнее. Безопасность такой шаблонизации находится на нуле (см.<a>XSS</a>).</p>
26 <p>Также PHP не поддерживает макеты - специализированные шаблоны, содержащие обвязку сайта, в которую вставляется HTML конкретного обработчика.</p>
26 <p>Также PHP не поддерживает макеты - специализированные шаблоны, содержащие обвязку сайта, в которую вставляется HTML конкретного обработчика.</p>
27 <p>По этой причине в PHP используют шаблонизаторы, написанные на самом PHP. Наиболее популярные среди них<a>Blade</a>и<a>Twig</a>. Также рекомендуем шаблоны на основе<a>Slim</a>, но в PHP они не так популярны, как в JS или Ruby.</p>
27 <p>По этой причине в PHP используют шаблонизаторы, написанные на самом PHP. Наиболее популярные среди них<a>Blade</a>и<a>Twig</a>. Также рекомендуем шаблоны на основе<a>Slim</a>, но в PHP они не так популярны, как в JS или Ruby.</p>
28 <p>Шаблонизаторы будут одной из тем следующих уроков.</p>
28 <p>Шаблонизаторы будут одной из тем следующих уроков.</p>