РНР 5 в подлинникеСтраница 14 из 554 |
||
|
2Q Содержание Перебор массива: {foreach}...{/foreach}..............................................................1075 Ветвление: {if}...{else}...{/if}.................................................................................1075 Вставка содержимого внешнего файла: {include}............................................1076 Вывод отладочной консоли: {debug}.................................................................1076 Удаление пробелов: {strip}...{/strip}....................................................................1076 Оператор присваивания: {assign}......................................................................1077 Циклическая подстановка: {cycle}....................................................................1077 Подключение компонента: {t_component}...{/t_component}..................................1078 Интерфейс Компонента....................................................................................1079 Локальность результата работы Компонента..................................................1081 Другие теги шаблонизатора...................................................................................1082 Создание локальных переменных: {t_local}...{/tJocal}...................................1082 Преобразование UR1 в абсолютный: {t_abs}...{/t_abs}....................................1083 Префильтры Smarty...........................................................................................1084 Добавление собственных Smarty-тегов в шаблонизатор................................1085 Стандартные Компоненты шаблонизатора.................................................................1086 Получение списка Блоков: Templier_Blocks.........................................................1086 Построение меню текущего подраздела: Templier_Menu....................................1087 Дополнительные возможности шаблонизатора..........................................................1087 Улучшенное отображение ошибок.......................................................................1087 Совместимость с РНР 4.........................................................................................1089 Автозаполнение форм............................................................................................1089 Статистика GZip-сжатия и времени выполнения скрипта................................1092 Обработчики Apache......................................................................................................1093 Пример: простейшая гостевая книга............................................................................1095 Шаблон....................................................................................................................1095 Компонент: добавление записи............................................................................1097 Компонент: просмотр гостевой книги.................................................................1099 Модель.....................................................................................................................1100 Применимость шаблонизатора.....................................................................................1100 Виртуальные пути и mod_rewrite...........................................................................1101 Разделение оформления и содержания................................................................1102 Глоссарий........................................................................................................................1102 Ссылки............................................................................................................................1 ЮЗ Резюме.............................................................................................................................1103 Предметный указатель............................................................................1104 Предисловие В последнее время благодаря бурному развитию Интернета в программировании выделяют отдельное направление — Web-программирование, т. е. создание сценариев для Web. Поначалу оно не могло и сравниться по своей сложности с другими областями программистского ремесла, не "дотягиваясь" не только до системного, но даже и до прикладного уровня. В наши дни, однако, роль Web-программирования в структуре глобальной сети возрастает, соответственно увеличивается и средняя оценка сложности сценариев. Многие системы (например, поисковые) по объему кода приближаются к размеру исходных кодов серьезных прикладных программ. Доля же статических страниц в Web постоянно падает; на смену им приходят динамические страницы, сгенерированные автоматически тем или иным сценарием. Представляем, как эти слова тут же вызовут бурю протеста со стороны прикладных и системных программистов, лишь слегка знакомых с Web-программированием. "Как, — заявят они, — неужели написание простейших программ на "бейсикопо-добных" интерпретаторах вообще можно назвать серьезным программированием? Да с этим же справится любой начинающий изучать программирование студент, потому что эта область не вносит и не может внести каких-либо новшеств, не предлагает алгоритмов, и, кстати, в ней нет ничего творческого. Да и вообще, скука-то, наверное, какая..." Обычно с такими людьми можно спорить часами. Действительно, какую бы задачу им ни привели, они начинают утверждать, что решить ее очень просто, хотя на самом деле это в контексте Web, мягко говоря, оказывается не совсем так. Что ж, отчасти такие люди правы. Поначалу все мы так считали, пока не столкнулись вплотную с тем, что называется Web-программированием. Да, в большинстве своем все программы удивляют своей кажущейся простотой. Но везде есть "подводные камни", и Web-программирование особенно ярко это доказывает. Обычно на написание типичных сценариев уходят не месяцы и годы, а дни и недели. Но особо сложные сценарии могут потребовать и значительно большего времени на разработку. Наконец, на первый взгляд работа Web-программиста кажется на редкость скучной. Но... Все обстоит именно таким образом, если вы программируете, что называется, "для себя", и при этом не пытаетесь каким-либо образом автоматизировать и упростить данный процесс. Действительно, можно получать удовольствие от написания прикладных программ (особенно нетривиальных), даже если их никто, кроме автора и |
| |