Если мы хотим посмотреть 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»]