Пишем простой авторегистратор. Часть 6 - пишем для RegSubmitter.
Содержание
- Инструментарий
- Основы
- Боремся с капчей
- Подключаем антикапчу
- Подтверждение по email
- Пишем модуль для RegSubmitter
В этой заключительной статье я покажу, как можно легко и аккуратно реализовать материал, изложенный в предыдущих статьях, при помощи RegSubmitter
Введение в предмет.
RegSubmitter изначально задумывался мною как гибкий фреймворк для быстрого написания авторегистраторов. Поэтому в отличие от предыдущих разов, вам не надо будет задумываться обо всякой рутине вроде считывания данных из файла/запроса, заморачиваться с одновременной регистрацией нескольких аккаунтов и т.д. Вы напишете логику, а RegSubmitter сделает все остальное.
Сразу скажу, что в этой статье я буду пользоваться версией RegSubmitter 1.4.0, которая пока официально не зарелизена, но уже скоро будет :) Впрочем, все нижеизложенное будет работать и в 1.3.6, за исключением подтверждения по email.
Структура модуля
Прежде всего, отмечу, что в RS есть два типа модулей: простые и “универсальные”. Простые работают только с одним конкретным сервисом, и “универсальные” могут работать со многими сайтами на одинаковых движках. В рамках этой статьи мы каснемся только простых модулей и будем рассматривать все на примере memori.ru.
Модули в RegSubmitter разбиваются по категориям, и располагаются в папке modules/Category_Name/Module_ID/module_ID.php. Здесь module_ID - это буквенно-цифровой идентификатор модуля, который должен быть уникален для каждого модуля (впрочем, это не означает, что он должен быть нечитаем ;) ). Например, модуль, работающий с сервисом Memori.ru находится по адресу /modules/Rus/Memori/Memori.php.
В этом файле должен находиться класс с именем, совпадающим с Module_ID, и при этом унаследованным от класса Module.
Код модуля
Ниже я приведу полный код модуля с комментариями, но перед этим сделаю несколько заметок.
Первая состоит в том, что в начале класса идут параметры, задающие свойства модуля и то, как он будет обрабатываться RegSubmitter-ом. Во-вторых, я не буду отдельно описывать API RegSubmitter’a, но по ходу дела буду пояснять назначение тех или иных функций и их параметров.
|
|
Напоследок замечу, что в RS имеется очень удобная для отладки функция dbg($var). Будучи вызванная в любом месте кода она выведет дамп переменной var внизу страницы. Она особенно хороша тем, что работает в том числе и тогда, когда скрипт вызывается через AJAX.
Полный архив модуля Memori: Memori.zip. И, кстати, на этот раз в нем нет никаких ошибок ;)
Короткой строкой.
- В процессе поиска хостинга для нового своего проекта нашел один недорогой хостинг. Между прочим, они являются спонсорами такого крупного ресурса, как phpbbguru.net, что есть хороший показатель.
- Сегодня беседовал с хорошим товарищем на тему телефонов и брендов. Он утверждал, что яблочные телефоны - рабство Стива Джобса, хоть с джейлбрейком, хоть без него. И говорил что у нормальных производителей вроде нокии и тупых ограничений нет, и отзывы о nokia хорошие, не то что у яблофона, который с очередным обновлением прошивки грозит превратиться в кирпич. После долгих споров пришли к выводу, что пиво хорошее, но его мало. Вот так :).