Intereting Posts
Умножение в PHP Шифрование столбца паролей в базе данных SQL Почему спецификация ISO-8601 выглядит повсеместно игнорируемой, когда речь идет о десятичных знаках? Предупреждение: mysql_connect (): доступ запрещен Используйте результаты DB для заполнения 1-го dropmenu и 1-го значения dropmenu для заполнения 2-го Как я могу перенести PHP preg_split в Java для особого случая unserializing значения в ADODB? phpDoc и завершение кода через '->' T_OBJECT_OPERATOR в NetBeans 8.0 Пустая страница, если я объявляю (strict_types = 1); в PHP 7 в верхней части файла Вкладка и препровождение в JSON-выход в Chrome вызов функции системы, любые предложения? Накладные расходы PHP Framework Невозможно вызвать поисковый запрос в functions.php из search.php & searchfrom.php в wordpress Зачем использовать mysql_real_escape_string, не помешает ли все это предотвратить? Преобразование переменной Javascript в переменную PHP Использование JS / PHP / JS для скрытия ключа API

Что делает HTML?

В PHP вы можете написать html вместе с PHP , например:

<html> <head> <?php echo "HTML Title from PHP "; ?> </head> <body> <h1>hello world!</h1> </body> </html> 

Я хотел бы знать, что это такое и как он работает, и в том, что было написано, и насколько глубоко мне нужно идти, чтобы понять это?

В настоящее время я слышал о механизмах шаблонов , но есть много шаблонных движков для PHP , поэтому мне кажется, что глупо (для меня) писать механизм шаблонов в движке шаблонов также, как я понял, механизм шаблонов анализирует весь файл только для замены команды, то он также начинает выводить содержимое файла, поэтому мне не кажется, что он будет частью системы, тем самым теряя производительность. (Возможно, я совершенно не прав, но серьезно это то, что я чувствую, когда слышу: P)

РЕДАКТИРОВАТЬ

Ребята, когда я говорю, что делает HTML, я имею в виду, что делает HTML в PHP? В файле node.js вы не можете писать HTML-код, потому что ничего не обрабатывает.

Solutions Collecting From Web of "Что делает HTML?"

Попытка избежать слишком большой информации, но вот полный цикл PHP при использовании с Apache в Linux.

Prerequisities

Обычная настройка сервера называется стеком LAMP, который представляет собой Linux, Apache, Mysql и PHP. Как правило, вы можете найти десятки готовых к использованию настроек стека LAMP вместе с руководствами для их использования, поэтому в контексте вашего вопроса все, на что вам нужно сосредоточиться, это Apache и PHP.

Этап 1 – Делегирование

Когда веб-браузер связывается с веб-сервером Apache с PHP, первым шагом для Apache является поиск нужного контента. Скажем, вы заходите на сайт http://www.mywebsite.com/hello.php, Apache увидит, что вы ищете файл hello.php. На этом этапе из-за суффикса (.php) Apache знает, что этот файл должен интерпретироваться PHP, поэтому он делегирует обработку интерпретатору PHP.

Этап 2 – Настройка

Перенос с Apache на PHP включает в себя множество заголовков, в которых PHP сообщает следующее: какая транзакция обрабатывается (GET / POST / PUT / DELETE), IP-адрес входящего запроса, пользовательский агент браузера (Firefox, MSIE, IPhone и т. Д.), Если есть файлы cookie. Что еще более важно, Apache передает PHP путь к hello.php-файлу на сервере.

Этап 3 – Обработка

В зависимости от конфигурации PHP может потребоваться сделать базовый дом (настройка себя), но в идеальных условиях он готов пойти и открыть hello.php. Часть PHP – это модуль, называемый lexer, который смотрит на hello.php и вычисляет, как для работы с файлом. В приведенном примере очень простой пример может выглядеть так:

  1. T_STRING = "<html> \ n \ t <head> \ n \ t"
  2. T_OPEN_TAG;
  3. T_ECHO;
  4. T_STRING = "HTML-заголовок из PHP";
  5. ;
  6. T_CLOSE_TAG;
  7. T_STRING = "\ t </ head> \ n \ t <body> \ n \ t <h1> hello world! </ H1> \ n \ t </ body> \ n </ html>"

Заметьте, я составил большинство кодов T_, но они довольно близки к тому, что реально.

Строка 1 – PHP знает, что это вне сферы видимости, поэтому она сразу передает всю эту строку в веб-сервер Apache. Apache, скорее всего, передаст всю эту строку в веб-браузере.

Строка 2. – T_OPEN_TAG сообщает PHP, что он входит в область PHP и ждет ее первой инструкции.

Строка 3 – T_ECHO сообщает PHP, что собирается сделать оператор эха, поэтому его правила затем начинают искать выражение или строку для вывода.

Строка 4 – Как повезло, следующий токен – это строка, поэтому теперь PHP знает, что будет эхо «HTML-заголовок с PHP»,

Строка 5 – The; говорит PHP, что оператор эха завершен, и что более важно, это синтаксически правильно … поэтому PHP передает строку «HTML-заголовок из PHP» в Apache, которая передает этот onot браузер.

Строка 6 – тег Close?> Сообщает PHP, что он оставляет область языка PHP, поэтому она восходит к гораздо более простому набору правил

Строка 7 – Как и строка 1, вся строка передается Apache для передачи в веб-браузер

На данный момент PHP достигает того, что называется EOF или конец файла, и знает, что он завершил обработку файла hello.php. Он выполняет очистку, а затем сообщает Apache, что это сделано.

завершение

На данный момент запрос выполнен в основном, Apache скорее всего повесит трубку в веб-браузере, отправив уведомление о завершении всего содержимого.

Дайте мне знать, если у вас есть какие-либо вопросы или вам нужно указать, куда идти дальше. Также обратите внимание, что здесь осталось много деталей для краткости / здравого смысла, но для того, чтобы просто понять, как птичий взгляд на отношения PHP с веб-браузером и веб-сервером, этого должно быть достаточно для начала.

Демонстрационный скрипт

 $test = 'Hello world <' . '?' . 'php echo \'this is in scope\'; ?' . '> and we\'re done'; $tokens = token_get_all($test); print_r($tokens); 

Результатом будет строка токенов реального мира, созданная PHP. Каждый токен может быть либо строковым, либо трехэлементным кортежем / числовым массивом, где индекс 0 == идентификатор Token, индекс 1 == raw string, и я не могу на всю жизнь помнить, что такое третий элемент. Используйте token_name, если вам интересно, что такое имя каждого токена.

Во-первых, PHP – это механизм шаблонов , когда вы используете его, как в вашем примере.

Вам действительно не нужно ничего больше, если вы хотите сохранить его простым.

Ваш браузер только когда-либо делает HTML. Независимо от того, написано ли это через PHP, javascript или asp, то, что работает, что означает текст (поскольку html – это только текст), является вашим браузером.

что-нибудь внутри <? ?> <? ?> braces – это php-код – он выполняется на сервере, а затем выводит простой HTML-код клиенту, после чего он отображает его веб-браузер клиента.

Посмотрите на эту диаграмму .

обработанный конечный продукт обрабатывается вашим веб-браузером. (FF написано на C / C ++)

перед передачей apache запускает все скрипты php через PHP (препроцессор), написанный на C

если вы используете механизм шаблонов PHP (например: Smarty ), который написан на самом PHP

если вы действительно заинтересованы в производительности, переключитесь на другой язык. Механизмы PHP-шаблонов не предназначены для сохранения циклов процессора или даже скорости, вместо этого они повышают производительность и ремонтопригодность, кроме того, они предоставляют разработчикам интерфейсов возможность поддерживать более сложные шаблоны, не зная PHP, что увеличивает ценность их работы, разработчикам делать более серьезную кодировку.

Ну, вам нужно понять историю веб-разработки, чтобы дать вам «ответ» на ваш вопрос.

В 199x при запуске веб-разработки многие люди используют Perl. В эти дни вы часто пишете такой код:

 print "<html>"; print " <head>"; print " <title>", get_site_name(), "</title>"; print " </head>"; print "<body>Hello, World!</body>"; print "</html>"; 

Как вы можете видеть в этом примере, в наши дни вы часто заканчиваете писать много HTML и просто включаете некоторые небольшие динамические материалы. Как счетчик, часы, показывающие время или другие мелочи. В эти дни PHP родился, чтобы сделать этот процесс намного проще. Вместо написания кода, который печатает много HTML, PHP был / является механизмом для создания шаблонов, который позволяет вам писать HTML и просто включать ваш код. В эти дни вы, вероятно, закончите писать 90% HTML и 10% от вас логики. В эти дни это было всего лишь то, что вам нужно, и это было намного проще.

Но время изменилось. Сегодня веб-разработка стала намного сложнее, чем в предыдущие дни. Сегодня вы, вероятно, пишете 90% логики и всего 10% HTML. Сегодня почти все автоматически генерируется и поступает из базы данных. Из-за того, что вы подняли цвет лица, сегодня вы часто пишете свое приложение PHP, например

 <?php echo "<html>"; echo "<head>"; echo "..."; echo "</html>"; ?> 

Как видите, эволюция идет назад. И не имеет большого значения, как в предыдущие дни. PHP-программы больше всего заканчивались тем, что запускали php Tag и генерировали все, и отсылали все, что нужно, как в старые времена с Perl.

Но, это все еще не enoug, вы заканчиваете, где вы начали. Поскольку сегодня у вас есть гораздо больше логики для написания в вашем приложении, это хорошая идея, чтобы разделить ваше приложение на многие стороны. Вы разделяете свою прикладную логику и как вы должны отображать свои данные.

Сама логика написана на PHP, но для отображения данных люди склонны использовать другие шаблонные двигатели, которые сегодня намного более современные и лучше подходят для нужд.

Да, кажется, немного неудобно иметь механизм создания шаблонов, который поднимается на язык общего назначения, где записывается модуль Templating Engine, но так оно и есть.

Вопрос о том, как HTML визуализируется, хорошо, что у вас есть интерпретатор «php», который часто напрямую встроен в Apache (mod_php), который выполняет все это, но для этого описания уже есть лучшие ответы.