Обработка условий

Возможность доступа к переменным окружения и установки пользовательских переменных вряд ли имела бы смысл, если технология SSI не предусматривала бы никаких средств для анализа их значений.
Таким механизмом в SSI являются директивы обработки условий, или просто условные директивы.
Условные директивы реализуют возможности управления потоком. Проще говоря, они позволяют включать в результирующий, отправляемый сервером клиенту документ, лишь избранные фрагменты HTML-кода из многих альтернатив.
Синтаксис условных директив SSI таков:
<!--#if expr="выражение_1" -->
блок_кода_1
<!--#elif expr="выражение_2" -->
блок_кода_2
...
<!--#elif expr="выражение_N" -->
блок_кода_N
<!--#else -->
блок_кода_N+1
<!--#endif -->
Если истинно выражение_1, в результирующий документ будет вставлен только блок_кода_1 и никакие другие фрагменты.
Если выражение_1 ложно, но при этом истинно выражение_2, в результирующий документ будет вставлен только блок_кода_2 и ничто другое, и т. д.
Если же ни одно из явно определенных выражений, включая выражение_N, не является истинным, в результирующий документ будет вставлен блок_кода_N+1 и никакой иной фрагмент.
Директивы elif и else являются опциональными (необязательными). Иными словами, в простейшем из возможных случаев условные директивы можно применить следующим образом:
<!--#if expr="выражение" -->
блок_кода
<!--#endif -->
При этом фрагмент блок_кода будет вставлен в результирующий документ только тогда, когда истинно выражение.
Выражения, как и в полноценных языках программирования, составляются из имен переменных, знаков операций и литералов (т. е. буквально заданных фиксированных значений).
Пример простейшего выражения — проверка равенства переменной какому-либо фиксированному значению либо значению другой переменной:
$имя_переменной=значение
или
$имя_переменной='значение'
или
$имя_переменной_1=$имя_переменной_2
Имена переменных необходимо предварять знаком доллара ($). Если литерал заключен в одиночные кавычки, при его анализе учитываются все пробелы. В противном случае несколько подряд идущих пробелов расцениваются как один.
(Можно использовать и двойные кавычки, но в этом случае их придется предварять символом обратной косой черты: \".)
Пожалуй, следует рассмотреть практический пример, иллюстрирующий применение условных директив с простейшими выражениями.


© 2008-2018 ОптимизацияВебСайтов.ру


Любое использование текстового и графического контента сайта без активной ссылки на источник не доскается.