+1.49
Рейтинг
9.26
Сила

Подскажите направление в архитектуре плагина.

Привет. Господа разработчики плагинов, обращаюсь к вам. При попытке сделать плагин поддоменов для пользователей, пришлось делать отдельный плагин для имен и доменов пользователей. В таблице пользователей появляется новое поле user_domain с валидным доменом пользователя. Имена пользователей теперь становятся достаточно свободными, с русскими символами, с пробелами.
Прошу посмотреть и оценить как это все сделано с точки зрения архитектуры. Возможно я ушел не в ту степь и чего-то не вижу.
Плагин в общем-то не работает, надо расширять actions и дорабатывать рюшечки типа проверки домена на существование. Это все легко, если путь правильный.
Архив csky.ru/anynames.rar
Заранее спасибо.

Поддомены для пользователей

Просмотрел сегодня код 0.4.1 и так и не догнал как правильно сделать поддомены для пользователей. То есть как понятно с переписанным Router, но не хочется нарушать идеологию движка. Хочется, чтобы было через плагин.
Мои мысли свелись к этому:
Делаем планиг, вешаем хук, допустим на init_action, в функции которую запустит хук разбираем $_SERVER['HTTP_HOST']. Если обращение идет с поддомена, смотрим какой евент запрашивается, подстраиваем под себя и вызывает каким-то хитрым способом Router::action() с нужными нам параметрами. Все остальное сделает движок. Вопрос в том, как правильно запустить Router::Action(), с учетом того, что его надо запускать из модуля или из акшена.
Была мысль сделать через переопределение нужной функции init в акшене, но inherits надо определять сразу в классе плагина, и динамически подстроить нужный вызов не получится. Поэтому дальше не стал копать.
Или я вообще неправильно понял всю идеологию? =)
UPD 1
Теоретически можно еще в конфиге плагина, если обращение с поддомена, дать правило роуту на несуществующий action + задать по-умолчанию нужный нам, но мне кажется это не очень правильно.