генерация идентификатора, hash code - туплю? - разрешите сомнения :)

vitus

мимо проходил
генерация идентификатора, hash code - туплю? - разрешите сомнения :)

встала задачка сделать единый список всех объектов в системе.

вроде выход простой - табличка с уникальным ключом

unique(get_class($obj), $obj->getPrimaryKey()),

но длина первичного ключа объекта может быть максимальной для базы данных (допускается строковый, от меня не зависит),
соответственно для идентификатора нужен хэш код ограниченной длины (и покороче :) )

насколько здесь применим md5 и соответственно

unique(get_class($obj), md5($obj->getPrimaryKey()))
или даже
unique(md5(get_class($obj).$obj->getPrimaryKey()))

или это глупость несусветная?
или есть чтонибудь более другое для подобных штук??
 

Кром

Новичок
А зачем эти хеши вообще нужны? Где они потом будут применяться?
 

vitus

мимо проходил
применяться они будут на уровне системы для создания связей между объектами разных подсистем, которые друг о друге не знают :).
поиск соответственно в обе стороны - от объекта и от общего списка.
 

neko

tеam neko
> но длина первичного ключа объекта может быть максимальной
> для базы данных

я видимо вопрос непонял..
чем 64-х битные числа неустраивают?
к чему тут эти строки, мэдэ5 и проч.?
 

vitus

мимо проходил
чем 64-х битные числа неустраивают?
к чему тут эти строки, мэдэ5 и проч.?
да в общем-то они устраивают вполне, однако не могу я заставить вендоров делать так как мне нужно :) .

видимо совсем ленивое решение не прокатывает, придётся делать фасады и адаптеры для подсистем и их объектов...
 

neko

tеam neko
ну и.. к чему мы пришли, мне жутко интересно
к вопросу "как заставить" или к вопросу "как сделать справочник"?
 

vitus

мимо проходил
я пришёл вот к этому :)
придётся делать фасады и адаптеры
и в них уже необходимую логику добавлять по вкусу и нормальные ПК генерить.
как ни влом ...

-~{}~ 21.03.05 11:09:

neko кстати сенкс, на правильные мысли натолкнул
 
Сверху