Как работает PHP


Если мы хотим посмотреть HTML:
1. Пользователь запрашивает страницу с ‘чистым’ html
2. Сервер проверяет, есть ли такая страница
3. Если есть — возвращает .html страницу пользователю в том же виде, в каком она была на сервере.

Если мы обращаемся к странице с PHP кодом:
1. Пользователь запрашивает страницу, например, index.php
2. Сервер отдает файл обработчику, которые исполнит php код
3. Обработчик PHP отдает серверу получившийся код
4. Сервер возвращает пользователю запрошенную страницу в виде html

Как устроен PHP? Самые важные файлы:

php5ts.dll — ядро // здесь находятся основной функционал PHP
php.ini — конфигурационный файл
php.exe — командная строка PHP
php5apache2_4.dll — модуль PHP для Apache
В папке /ext/ находятся расширения; PHP поддерживает около 5000 функций.

Модуль PHP привязывается к Apache в конфигурационном файле:
conf\httpd.conf
LoadModule php5_module «..php/php5apache2_4.dll»
AddType application/x-httpd-php .php // какие файлы отдавать обработчику

Заметка на полях:

Можно ли встроить php-код в .html страницу?
Ответ, да, но только задав директивы серверу; например, через .htaccess:
AddHandler application/x-httpd-php .html .htm
или
AddHandler x-httpd-php5-cgi .html

PHP — встраиваемый язык, т.е. в php файле не все должно являться  исполняемым php-кодом; там может быть html, js и т.д. Пример:

<p>Это будет проигнорировано PHP и отображено браузером.</p>
<?php echo 'А это будет обработано.'; ?>
<p>Это тоже будет проигнорировано PHP и отображено браузером.</p>

или

echo "Hello world";
// ... еще код
echo "Последнее выражение";
// Скрипт заканчивается тут без закрывающего тега PHP

Чтобы лучше представить работу интерпретатора, иллюстрация:
У нас есть файл, где половина текста на русском и половина на англ. Наша задача перевести весь текст на русский. Точно также и обработчик смотрит .php файл, состоящий из html (русский) и php-кода (англ.; его надо обрабатывать, «переводить»).

 Список всех статей по PHP:
[catlist name=»PHP»]


Запись опубликована в рубрике Apache, PHP. Добавьте в закладки постоянную ссылку.

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

🇬🇧 Attention! Comments with URLs/email are not allowed.
🇷🇺 Комментарии со ссылками/email удаляются автоматически.