Вот альтернативный синтаксис для конструкции switch-case:
switch(âûðàæåíèå):
case çíà÷åíèå1: êîìàíäû1; [break;]
. . .
case çíà÷åíèåN: êîìàíäûN; [break;]
[default: êîìàíäû_ïî_óìîë÷àíèþ; [break]]
endswitch;
Инструкция require
Эта инструкция позволяет нам разбить текст программы на несколько файлов. Ее формат такой:
require èìÿ_ôàéëà;
При запуске (именно при запуске, а не при исполнении!) программы интерпретатор просто заменит инструкцию на содержимое файла имя_файла (этот файл может также содержать сценарий на PHP, обрамленный, как обычно, тэгами <? и ?>). Причем сделает он это только один раз (в отличие от include, который рассматривается ниже): а именно, непосредственно перед запуском программы. Это бывает довольно удобно для включения в вывод сценария всяких "шапок"
с HTML-кодом. Например (листинги 9.4, 9.5 и 9.6):
Листинг 9.4. Файл header.htm
<html>
<head><title>Title!</title></head>
<body bgcolor=yellow>
Листинг 9.5. Файл footer.htm
©My company, 1999.
</body></html>
Листинг 9.6. Файл script.php
<?
require "header.htm";
. . . ðàáîòàåò ñöåíàðèé è âûâîäèò ñàìî òåëî äîêóìåíòà
require "footer.htm";
?>
Безусловно, это лучше, чем включать весь HTML-код в сам сценарий вместе с инструкциями программы. Вам скажет спасибо тот, кто будет пользоваться вашей программой и захочет изменить ее внешний вид. Однако, несмотря на кажущееся удобство, это все же плохая практика. Действительно, наш сценарий разрастается аж до трех файлов! А как было сказано выше, чем меньше файлов использует программа, тем легче с ней будет работать вашему дизайнеру и верстальщику (которые о PHP имеют слабое представление). О том, как же быть в этой ситуации, я расскажу позже в пятой части книги, в главе, посвященной технике разделения кода и шаблонов.