Сайт о горячих клавишах.
WIM обновленReceived: from jkeks@localhost (localhost [127.0.0.1]) Mon, 12 May 2003 17:17:35 GMT Date: Mon, 12 May 2003 23:17:23 +0600 From: localhost /jkeks@localhost/ X-Mailer: The Bat! (v1.62/Beta6) Reply-To: localhost /jkeks@localhost/ X-Priority: 3 (Normal) Message-ID: /584544713.@localhost/ To: subjex@localhost Subject: WIM finished MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit ret webOS v0.17(Edit)wim.pm модуль закончен. Теперь мы имеем уже целый арсенал. Обработка ошибок, буферизация, СУБД, логи, события, обработка входящих данных, правовая система и другие конфеты. В чем прелесть wim ? Самое важное - это то что написан модуль с нуля, в нем нет ни строчки чужого кода, за исключением функции URLDecode. Код очень маленький. Я стремился сделать так чтобы данные не писались никуда. т.е. все пришедшие данные в памяти. Это сделано по причине того что в временных хранениях могут быть лишние ошибки безопасности, и к тому же я специально для хранения данных писал СУБД. При желании движок просто даст указания сохранить указанные данные в базе. В чем еще конфеты ?(Edit)В том что я использовал универсальную структуру данных которую сам когда-то придумал (в смысле для хранения любых приходящих данных). Возможно она покажется немного сложновато, но основа ее похожа на некоторые обычные подобные модули навроде WebIn Данные хранятся в 3-х хэшах GET POST COOKIE (возможно будет и HEAD когда-нибудь, но необходимости в нем я не вижу кроме дыр) Хэш COOKIE самый простой, он содержит просто список ключей и значений хэш GET сложнее, в нем хранятся пары - ключи - значения, а так же при наличии нескольких одинаковых ключей автоматически ключу присваивается ссылка на массив со всеми значениями для данного ключа. Хэш POST еще немного сложнее, в принципе он аналогичен GET но в нем могут храниться и файлы, для ключей указывающих на файл генерится ссылка на массив с именем указанного файла и собственно самим файлом. Любые манипуляции с хэшем не будут трогать содержимое файлов. Вызовы немного туговатые.. например чтобы получить собственно файл в скаляре нужно написать примерно следующее: ${$POST{$key} }[1] Для любого параметра достаточно легко написать фильтр Как вы понимаете учитываются такие редкие формы как Мульти выборочные.Вот собственно и все.. Конечно не получилось оптимизировать код, хотя был пример парсинга написанный без регекспов, были и компилированные варианты, но тут все просто и мелко.
|