Web - кодинг: PHP:
Дизайн в скриптах
Автор: Евгений Емельянов
Источник:
"Дизайн в скриптах - не главное". К сожалению, это утверждение я слышу
слишком часто и к ещё большему сожалению - от программистов, которые эти самые
скрипты и пишут. Сразу хочу предупредить, что это не руководство к действию и не
единственно верное мнение, это всего-навсего мои скромные субъективные мысли.
Вы когда-нибудь ставили себя по ту сторону баррикад, на место пользователя?
Если нет, то советую это делать почаще. А если ставили, то должны относительно
представлять как реагирует средне статистический пользователь при установке и
первом знакомстве с вашим детищем. Сначала юзверь, ясное дело, смотрит на
внешний вид скрипта - как ни крути, а встречают по одёжке, а это уже говорит о
том, что внешний вид - далеко не последнее дело и заботиться о нём надо бережно
и с должным вниманием. Далее, хитрый пользователь пытается перекроить дизайн и
структуру скрипта под свои нужды и вкусы. И уже потом наступает очередь разбора
самих функций скрипта и оценка "того гениального решения на 184й сроке".
Так вот, из всего вышесказанного следует, что если держаться принципа "дизайн
- не главное", момент оценки ваших программистских способностей может и не
наступить. Пользователь, особенно не искушённый в программировании, просто
брезгливо заделитит ваше творение и пойдёт искать дальше - более эстетичных
собратьев по цеху. Совсем не обязательно творить гениальные дизайнерские решения
- этим займётся сам пользователь, но более-менее приличный внешний вид придать
нужно обязательно. Проще всего для этих целей руководствоваться принципом
"внешний вид должен быть таким, чтобы скрипт можно было использовать без
каких-либо изменений".
Это прозвучит банально, но дизайн - это не только цветовая гамма и картинки,
но ещё и такая немаловажная вещь как структура. Скрипт должен быть
структурирован так, чтобы при первом осмотре пользователь сказал себе : "Да,
этим скриптом будет удобно пользоваться". Так что, имхо, не следует слишком
увлекаться оригинальностью и уж тем более изобретать колёса.
Итак, внешний вид понравился, ещё какое-то время скрипт проживёт на винте
пользователя (или на винте его хостера). Теперь все силы нашего юзера будут
брошены на переделку скрипта "под себя" и для этого он должен быть обеспечен
соответствующими возможностями и инструментами. А это уже наша забота. Ясен
перец, что если ваш скрипт состоит из одного файла и весь дизайн слеплен из
хаотичных echo, разбросанных по всему скрипту - благоразумный и экономящий свои
силы и время пользователь повторит процедуру, описанную в третьем параграфе.
Мухи и котлеты должны существовать в разных измерениях - это факт. Так что
желательно позаботиться об отделении изменяемого пользователем дизайна от самого
кода скрипта.
Выход в данной ситуации, ясное дело - использование шаблонов. О шаблонах и
методах их реализации написана тонна трудов и диссертаций, так что сильно
разглагольствовать по этому поводу я не буду. Приведу всего-навсего один метод,
которым пользуюсь сам. Его суть заключается в следующем. Есть скрипт, в ходе
выполнения которого определяются и вычисляются всяческие переменные. В конце
выполнения скрипта подключается файл шаблона, в котором все эти переменные
используются по назначению. Наглядный пример.
Файл index.php:
<?php
$title="My home
page"; $data=file("data.txt"); $data=implode("",$data); $bgcolor="white";
include("template.html");
?>
Файл template.html:
<?php echo
<<<HTML
<html> <header> <title>$title</title> </header> <body
gbcolor=$bgcolor> $data </body> </html>
HTML; ?>
Как видите, в основном файле мы определили три переменных, которые
используются в шаблоне, подключаемом в конце скрипта. Таким образом,
пользователь без особых трудностей сможет редактировать шаблон по своему
усмотрению, не копаясь без надобности в основном алгоритме.
В заключении, хочу сказать пару слов о шаблонной этике. Важно помнить, что
удобство пользователя - вещь немаловажная. Желательно называть переменный,
используемые в шаблонах, понятными именами. Есть разница между $a[12] и
$main_menu, не так ли? Опять же, не будет лишним в файле помощи составить список
всех используемых переменных и из значений.
При перепечатке любого материала
с сайта, видимая ссылка на источник www.warayg.narod.ru
и все имена, ссылки авторов обязательны.
© 2005
|