LiveStreetи ORM
Отбих се от тази статия, но тя е само уводна част от този инструментариум. Няма нито дума за кеша, странирането, дървовидния масив. Ще се опитам да дам възможно най-много информация на читателя, без да го претоварвам. Ще започваме ли?
Ще разгледам всичко, като използвам приставката за форума като пример. Първо трябва да създадем скелета на плъгина:
Изходните файлове могат да се видят в github, няма да се спирам на описанието на плъгина.
Сега нека създадем модул, наречен форум.
Трябва да опишем модула като ModuleORM и в метода Init трябва да наследим родителя на метода Init от обикновения модул:
Преди да опишем обекти, трябва да помислим за всички връзки между тях, така че да е по-лесно да се манипулира чрез гетъри:
И опишете създадените обекти:
Category.entity.class.php
Forum.entity.class.php
Topic.entity.class.php
Post.entity.class.php
Read.entity.class.php
Сега всичко това може да се манипулира без дефиниране на класове в модула на плъгина, например:
Филтърът #cache може също да приема следните параметри:
Има няколко вида връзки:
След като опишем обектите, следните методи ще бъдат достъпни за нас:
Таблиците в базата данни трябва да бъдат именувани по следния начин: prefix_ _ (или посочете имената им в конфигурацията) и ако името на обекта съвпада с името на модула, тогава е достатъчно да именувате таблицата така: prefix_ . Полетата също имат свои собствени стандарти: _ или просто .
Това е всичко, господа, благодаря ви за вниманието. Напомням ви, че най-новите източници на форума могат да бъдат намерени в git.
UPD: Направих корекции в статията, благодаря на ort за коментарите му.
Hardcore conf в C++. Каним само професионалисти.