Как работает 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:

This entry was posted in PHP. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *