ShortLinks - сокращатель ссылок.
Пакет генерирует alias на основе времени создания и заголовка ресурса, затем пропускает через md5() и сокращает до нужной длинны (выставляется в настройках).
Таким образом получает alias вида — b79bcf

p.s. Не спрашивайте зачем это надо))) Возможно кому то понадобится. Пакет тут.
Таким образом получает alias вида — b79bcf
p.s. Не спрашивайте зачем это надо))) Возможно кому то понадобится. Пакет тут.
Комментарии: 3
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Этот момент как-то обрабатывается? (я код не смотрел)
Если нет, то имеет смысл добавить проверку при генерации — существует ли такой идентификатор у другого документа и, если существует, перехешировать, добавив какой-то дополнительный параметр, уникальный для этого ресурса.
И так в цикле, пока не получим уникальный сокращённый идентификатор.
Может быть ещё имеет смысл хранить в базе те поля, которые использовались для генерации короткого урла, в том же порядке, чтобы потом иметь возможность восстановить этот код, а то мало ли.
но выставив длину псевдонима в 6ть я прогнал в цикле по 5000 ресурсов 5раз…
при этом имя ресурса было просто номером итерации. В итоге я не увидел ни одного дублирующего псевдонима что для меня явилось достаточным при решении поставленной задачи…
p.s. проверку прикручу если этот пакет вообще для кого то будет актуальным…
В целом спасибо за критику)
Ну и проверка перед сохранением, конечно: