Вы не зашли.
Страницы 1
В настоящий момент я заканчиваю создание библиотеки, которая заменит собой старую систему работы с ЧПУ и позволит убрать из .htaccess'а все правила по перенастройке ссылок.
Сейчас на повестке дня встал следующий вопрос: в каком виде давать пользователям возможность редактировать формат ЧПУ.
Есть 2 варианта:
1. Наиболее гибкий, но сложный для понимания - для каждой строки пользователь может вводить:
1.1. Регулярное выражение, по которому идёт проверка ссылки
1.2. Таблица соответствий переменных, полученных в REGEX'е и переменным системы
1.3. Указание на плагин и его модуль, которому должно передаваться управление.
Пример:
REGEX: #^\/list\/(\d{1,3})\/{0,1}$#
MAPPING: 1 => 'id'
PLUGIN: news, show
Т.е. пользователь, вводя регулярное выражение, может сам учитывать типы и формат переменных, легко можно делать сложные конструкции... но пользователю необходимо понимать механизм написания регулярных выражений.
2. Наиболее понятный для понимания, но менее гибкий. Для каждой строки пользователь вводит:
2.1. Формат URL'а, аналогичный тому, который используется сейчас
2.2. Указание на плагин и его модуль, которому будет передаваться управление
При этом каждый плагин регистрирует в ядре список своих модулей и форматов переменных, которые можно использовать, а пользователь выбирает уже из списка готовых.
[hr /]
Прошу высказаться - кому какой вариант больше нравится?
Нужно ли вообще всё это выносить в WEB интерфейс или достаточно сделать детальное описание и все изменения разрешить делать в конфигурационном файле?
Не в сети
REGEX: #^\/list\/(\d{1,3})\/{0,1}$#
MAPPING: 1 => 'id'
PLUGIN: news, show
это жесть имхо надо проще, так что я за второй вариант
Нужно ли вообще всё это выносить в WEB интерфейс или достаточно сделать детальное описание и все изменения разрешить делать в конфигурационном файле?
WEB конечно более красиво будет, но в конфиг файле полазить не обломаюсь
Не в сети
Я за то чтобы если делать что-то, то делать это максимально удобно, настраиваемо и хорошо. Зачем делать заведомо менее гибкую реализацию? То есть, я естественно за первый вариант. Кто не знает, тот просто не будет трогать, либо будет обращаться на форум за помощью. Зачем же ограничивать тех людей, которые найдут этому применение?
Изменено Styler (2009-03-11 18:27:52)
Не в сети
максимально удобно
считаешь вышеприведенные строчки максимально удобными? Я только за гибкость, но если для изменения формата ссылок пользователь должен понимать как составляются регулярные выражения... Мне кажется это перебор, посмотрим как выскажутся другие
Не в сети
Первое будет лучше...
И желательно вынести всё в web интерфейс...
xmpp://ngcms@conf.ngcms.ru
Настройка клиента для подключения к конференции
Не в сети
Бог создал программиста, чтобы облегчить жизнь пользователям.
Если система планируется социально-ориентированной, то однозначно второй вариант, хотя я понимаю что он потянет за собой переработку всех плагинов, которые получают данные от пользователей.
Но, с точки зрения затраченного на написание кода времени, рулит первый вариант.
На счет гибкости готов поспорить, так как если человек разбирается в регулярных выражениях, то скорее всего он разбирается в программировании. В таком случае ему не составит особого труда
...зарегистрировать в ядре список своих модулей и форматов переменных, которые можно использовать,
а потом
...выбрать уже из списка готовых
А кто не разберется
...тот просто не будет трогать, либо будет обращаться на форум за помощью.
----------------------------------------------------------------------
п.с.: чтобы не сложилось иллюзий, лично меня вполне устраивает первый вариант, и в реализации он будет попроще
Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com
Не в сети
Amarelius, а ведь действительно ОЧЕНЬ здравая идея!
Сделать второй вариант, а тем, кому хочется чего-то особенного - рассказать как модифицировать формат/набор возможных переменных.
Если не придумаю как бы совместить одновременно оба варианта в WEB интерфейсе - воспользуюсь твоей идеей
Не в сети
МиниFAQ не смешите меня...
Некоторые даже установить не могут, предполагают что при таком раскладе на форуме по этому поводу будет спрашивать каждый 3...
Не в сети
Начал реализовывать.
Отдельное спасибо Amarelius'у за то, что навёл меня на интересную мысль.
Пойду по такому пути - основную сложность (представление переменных в виде регулярных выражений) будем возлагать на плагины и их авторов - плагин сможет сам задавать регулярные выражения для своих переменных. И на самом деле только плагин и знает в каком виде может быть представлена переменная.
Пользователь сможет выбирать только предопределённые плагином варианты,.. но при особом желании сможет модифицировать сам плагин и регулярное выражение в его настройках.
Не в сети
основную сложность (представление переменных в виде регулярных выражений) будем возлагать на плагины и их авторов
Кто у нас главный писатель плагинов
Не в сети
Страницы 1