|
Что такое PARSER и кто его применяет в работе?
PARSER это средство скриптования сайтов с помощью простого языка. Он немного сложнее HTML, но совершенно не требует от кодера умения программировать.
PARSER начал создаваться в Студии Лебедева в 1997 году. Сегодня все сайты в Студии Лебедева создаются с его помощью.
А зачем он вообще?
Для того, чтобы по многу раз не переписывать одно и то же. С помощью макросов можно описать конструкцию сайта таким образом, что для изменения внешнего вида всего сайта, потребуется изменить только 1-2 файла.
Если есть PHP, то для чего PARSER?
PHP это язык программирования, требуюущий соответствующей подготовки. На парсере могут работать те, кто называются html-кодеры, то есть, далеко не программисты. PARSER именно тем и хорош, что позволяет простым смертным создавать и поддерживать динамические сайты без больших затрат времени.
Почему PARSER распространяется бесплатно?
Мы в Студии Лебедева абсолютно убеждены в том, что ни одна закрытая технология не может долгое время оставаться современной и актуальной. Всегда будет появляться что-то новое, что будет превосходить технологии предыдущего поколения. Делая PARSER доступным каждому, мы не хотим ни с кем конкурировать в области инструментов разработки сайтов. Широкое использования PARSER поможет технологии оставаться современной.
Продажа технологии сужает круг пользователей и замедляет развитие новых проектов. Мы не продаем инструмент, а даем его бесплатно любому желающему, рассчитывая на то, что этот шаг поможет развитию российского интернета.
Как насчет открытых кодов?
PARSER будет распространятся в исходниках в 2001 году. Скорее всего, это произойдет весной.
Как подключить PARSER к веб-серверу?
Для этого в Apache нужно в файлах .htaccess или httpd.conf (секция <virtualhost>) следующие строки (подразумевается, что /cgi-bin указывает на каталог, прописаный в ScriptAlias в httpd.conf):
AddType parsed-html .html
Action parsed-html /cgi-bin/parser
Скопировать файл parser в каталог /cgi-bin.
В каталоге сайта, на который указывает localhost, создать файл index.html.
Можно ли использовать в коде спецсимволы ; и ^?
Конечно. Их нужно либо предварять символом ^, либо брать целиком весь параметр в обратные кавычки `. Например:
^eq[abc^;def;ghijkl;...;...]
^eq[`abc;def`;ghijkl;...;...]
Как перейти на работу с PARSER в своих разработках?
Можно постепенно заменять конструкциями парсера файлы уже готового сайта, например описать заголовки и таблицы html-документа макросами, использовать переменные окружения через парсер, упростить обработку данных форм. Или изначально продумать удобную конструкцию сайта, и писать код, исходя из возможностей парсера. Парсер не подменяет собой html-код, он генерирует его.
Поэтому изменять исходные тексты очень легко, и всегда сразу можно увидеть, что получилось в результате той или иной команды.
Обязательно ли ставить русскую версию Apache для работы PARSER?
Нет. PARSER работает с английским и русским Apache, а также с IIS. И вообще любой сервер, позволяющий обрабатывать документы ДО их выдачи пользователю, сможет работать с парсером.
Как запустить PARSER под IIS?
Для этого в программе конфигурации IIS кликаете правой клавишей мыши на веб-сайт и выбираете Properties. Открывается окно Web Site Properties. Затем в странице Home Directory нажимаете кнопку Сonfiguration. В появившемся окне нажимаете Add, и прописываете путь к PARSER. В строке Extension пишете html, и жмете OK. Затем в окне Web Site Properties выбираете страницу Documents, и добавляете index.html в список файлов, открываемых по умолчанию. Перезагружаете сервер, 3 раза "ку", крутите фонарики и радуетесь полчаса.
Как запускать скрипты из-под парсера, и не получать ошибку №6 под win32?
Для этого нужно воспользоваться оператором ^exec[script_to_run]. Путь к скрипту нужно указывать относительно ТЕКУЩЕГО html-документа. Например, если путь к текущему документу c:\apache\htdocs\index.html, а скрипт находится в директории c:\apache\cgi-bin, то выполнять оператор ^exec нужно следующим образом:
^exec[/../cgi-bin/script_to_run]
Что такое контекст?
Контекст это двухмерный массив данных. Для обращения к элементу текущей строки текущего контекста используется оператор ^item[n], где n номер элемента или его название (в случае именованного контекста). Чтобы обратиться к элементу другого контекста, следует использовать конструкцию ^item[m;n], где m название желаемого контекста, а n номер или название элемента.
Для перемещения по строкам контекста используются операторы ^menu и ^shift.
Для поиска элемента в контексте используется оператор ^locate.
Чтобы создать именованный контекст, используются конструкции ^config[named;...] и ^load [named;...].
Почему в конструкции
^macro[server;
^load[data.txt]
^menu[
^sql[insert into table values ('^item[0]', '^item[1]')]
]
]
вставляется всего одна запись?
Это происходит потому, что оператор ^sql[] меняет текущий контекс,
независимо от команды sql. Для правильного внесения записей в базу,
следует использовать подобную конструкцию:
^macro[server;
^context[data;
^load[data.txt]
^menu[
^context[sql;
^sql[insert into table values('^item[data;0]', '^item[data;1]')]
]
]
]
]
|