Прежде чем я углублюсь в глубины использования PHP для отправки HTML и других данных в веб-браузер, важно полностью понять процесс PHP. С помощью PHP вы можете отправлять данные (комбинацию тегов HTML и текста) в веб-браузер, который, в свою очередь, отображает их в виде веб-страницы, которую видит конечный пользователь. Таким образом, то, что вы делаете с PHP, — это создание исходного HTML-кода веб-страницы. Наглядно это означает, что PHP генерирует HTML-код, показанный на рис. 1.6 (доступ к которому можно получить, выбрав View > Source или View > Page Source в браузере), который веб-браузер превратит в рисунок 1.7. Рисунок 1.6. Вы будете использовать PHP для создания HTML-кода веб-страницы (подобной этой)…Рисунок 1.7. …который веб-браузер затем превращает в хорошо отформатированное изображение.Имея это в виду, существует три основных области, в которых вы можете влиять на интервалы: в PHP-скриптах, в исходном HTML-коде и в отображаемой веб-странице. Дополнительные пробелы, табуляции и пустые строки, которые вы создаете, обычно называются пробелами. PHP, как правило, нечувствителен к пробелам, а это означает, что вы можете расставлять пробелы в своем коде так, как хотите, чтобы ваши скрипты были более разборчивыми. HTML также обычно нечувствителен к пробелам. В частности, единственным пустым пространством в HTML, влияющим на отображаемую страницу, является один пробел (несколько пробелов по-прежнему отображаются как один). Следовательно, HTML-код на рис. 1.8 создаст ту же страницу (см. рис. 1.7), что и HTML-код на рис. 1.6. Рисунок 1.8. Лишние пробелы в исходном коде HTML не повлияют на внешний вид страницы (см. рис. 1.7), но могут облегчить просмотр исходного кода. Чтобы изменить интервал готовой веб-страницы, используйте теги HTML Я продемонстрирую оба этих метода в следующем сценарии. Для создания пустого пространства
Советы
|
Лучшее управление пробелами в шаблонах Twig (блог Symfony)
24 июня 2019 г. · Опубликовано Javier EguiluzУправление пробелами в шаблонах Twig позволяет управлять отступами и интервал сгенерированного содержимого (обычно код HTML). Управление белым пробелы очень важны при использовании Twig для создания содержимого, такого как YAML, текст электронные письма или любой другой формат, где пробелы являются значительными.
Напротив, при создании содержимого HTML в большинстве случаев следует игнорировать эта функция, потому что содержимое HTML минимизируется и сжимается перед отправляя их пользователям, поэтому попытка создать идеально выровненный HTML-код просто пустая трата времени.
Однако есть некоторые особые случаи, когда пробелы могут изменить то, как
отображаются. Например, когда элемент
содержит пробелы после
текст ссылки и ссылка отображается подчеркиванием, пробел виден.
Вот почему Twig предоставляет несколько способов управления пробелами. В последнее время
Версии Twig, мы улучшили эти функции.
Рассмотрим следующий фрагмент кода Twig:
Если значением some_variable
является 'Lorem Ipsum'
, HTML-код генерируется, когда , если выражение
соответствует, будет следующим:
Twig по умолчанию удаляет только первый символ \n
после каждого тега Twig.
( \n
после тегов if
и endif
в предыдущем примере). Если
вы хотите сгенерировать HTML-код с лучшим отступом, вы можете использовать -
символ, который удаляет все пробелы (включая новые строки) слева
или справа от тега:
Вывод теперь:
Начиная с Twig 1.
39 и 2.8.0, у вас есть еще один вариант управления пробел: символ ~
(который можно применить к {{
, {%
и {#
). Это похоже на -
, с той лишь разницей, что ~
не
удалить новые строки: Вывод теперь содержит символы новой строки после/перед
тегов, поэтому
сгенерированный HTML больше похож на исходный код Twig, который вы написали:
В предыдущих версиях Twig был тег {% spaceless %}
,
преобразовал данное строковое содержимое, чтобы удалить пробелы между HTML
теги. Однако в Twig преобразование некоторого содержимого перед его отображением
что-то сделали фильтры.
Вот почему, начиная с Twig 1.38 и 2.7.3, тег
был
устарел в пользу фильтр без пробелов
, который работает точно так же:
Однако это обычно используется с альтернативным способом применения некоторого фильтра. к некоторому содержимому HTML:
Если вы пропустили это, тег apply
был недавно добавлен для замены тега
предыдущий фильтр
тег.
В любом случае, даже после этих изменений, по-прежнему не рекомендуется использовать без пробелов
слишком сильно фильтруют. Удаление пробелов с помощью этого фильтра
происходит во время выполнения, поэтому повторный вызов может снизить производительность.
Эта новая функция, представленная в Twig 1.39 и 2.8, не связана с пробелами. управления, но это важная новая функция, которую следует учитывать в ваших шаблонах. Рассмотрим следующий пример и результаты, отображаемые в версиях Twig до 1.39 и 2.8:
Причина, по которой этот пример работал таким образом в предыдущих версиях Twig, заключается в том, что
в первом тернарном выражении foo
помечен как безопасный, а Twig делает
не избегать статических значений. Во втором тернарном утверждении, даже если фоо
это
отмечен как безопасный, bar
остается небезопасным, как и все выражение.