Я не знаю, как создается библиотека WPs, но она с открытым исходным кодом, вы можете взглянуть.
Что касается структуры таблицы, при условии, что вам нужна ссылка "многие ко многим", которую вы хотитетаблица перекрестных ссылок, что-то вроде:
record_id (int)
media_id (int)
title (text)
caption (text)
rank (int)
Тогда таблица мультимедиа будет выглядеть примерно так:
id (int)
title (text)
caption (text)
filename (text)
type (image|multimedia|document)
Возможно, вы также добавите поле folder_id в таблицу мультимедиа, иливозможно, вы вместо этого хотите пометить тегами, в этом случае у вас есть третья таблица с media_id и tag в качестве полей (или у вас есть теги в виде значений, разделенных запятыми в таблице media).
Это позволитВы связываете один носитель с несколькими элементами, а один - с несколькими.Это позволит вам установить заголовок и заголовок для элемента мультимедиа и переопределить его для конкретной ссылки.Например, у вас есть изображение дома с заголовком, чей это дом, но в одной ссылке заголовок перезаписывается (в таблице перекрестных ссылок) текстом, в котором говорится, что этот дом является примером определенной архитектуры.Функция SQL coalesce пригодится для получения правильного заголовка и заголовка.
Если контент, который ссылается на мультимедиа, приходит из нескольких таблиц, скажем, у вас есть таблица с именем персонала и другаяназывается «продукты», и они оба могут ссылаться на носитель, тогда таблица перекрестных ссылок также должна иметь поле table_name .Поле type позволяет легко получить только мультимедиа, прикрепленные к записи, или только изображения;Вы можете посчитать, сколько документов прикреплено, сколько изображений и т. д., исходя из этого имени файла в каждом запросе, это означает, что у вас более медленные запросы.
Одна вещь, которая не совсем подходит для этого, - отключить размещение мультимедиасайт.Если вы используете, например, Amazon S3 для хранения этих изображений, то в поле «имя файла» будет URL-адрес изображения.Я просто снимаю это как что-то, что вы должны принять во внимание при разработке библиотеки мультимедиа.
Я не могу придумать какую-либо литературу или код, который вы можете скопировать и вставить, хотя это не сложно сделатьхотя я ценю, что это может занять много времени.
Удачи.