Идентификация модуля

Ярослав

Новичок
Идентификация модуля

Здравствуйте.
Столкнулся с проблемой идентификации системных модулей.
Небольшой пример для розяснения для чего это мне нужно.

Вот пример есть комментарии.
Они могут относиться к студентам, курсам, документам и т.д.
Для этого сделал в таблице комментарии дополнительные поля
idEntity ид из соответствующей таблицы
idEntityType тип к которому относиться комментарий
Типы нужны чтоб небыло коллизий в айдишниках.

и также присвоили типы студентам 1, курсам 2, документам 3.
Вот как в скрипте описывать эти энтити.
Чтоб небыло в скриптах magic numbers можно в конфигах прописывать.
Создать в каждом модуле конфиг или какой то файл и обращаться по константе
Student::ENTITY_TYPE_ID;

Но опять же надо проверять нету ли такого идентификатора в конфиге уже какого нибудь существующего модуля.
Как лучше поступить в данной ситуации?
Жду идей ;-)
 

Beavis

Banned
А если хранить не idEntity а просто идентифицировать сущность её названием?
 

dimagolov

Новичок
Ярослав, или Entity это одна таблица, в которой и студенты и курсы и документы, или таблицы разные, но и каменты к ним разные будут, для каждой сущности свой.

п.с. общее для студентов, курсов, документов можно выделить в одну таблицу, а различия - в отдельные, которые будут ссылаться на основную
 

Ярослав

Новичок
Автор оригинала: Beavis
А если хранить не idEntity а просто идентифицировать сущность её названием?
Не хочеться плодить копировать эти названия
Comments
id | idEntity | idEntityType | msg
----------------------------------------
1 1 1 hello
2 12 2 hi


----------------------------------------
1 1 student hello

Через idEntityType поприятней

-~{}~ 11.09.08 09:46:

Автор оригинала: dimagolov
Ярослав, или Entity это одна таблица, в которой и студенты и курсы и документы, или таблицы разные, но и каменты к ним разные будут, для каждой сущности свой.
Так не хочеться создавать для каждой сущности таблицу с комментариями.
Кроме того камент можно асигнить сразу к нескольким сущностям.

-~{}~ 11.09.08 09:47:

пока вижу только 1 путь
создать таблу сущностей и выбирать ид по имени сущности и дальше с этим ид уже работать
 
Сверху