Создание независимых библиотек -
pawnoholic - 21.01.2018
Ищу идеи как можно создать независимые библиотеки от сохранения данных в базу данных.
Хочу сделать системы мода отдельно в библиотеках, так чтобы сами библиотеки не требовали доступа к базе данных (MySQL), например рассмотрим системы домов.
При создание дома CreateHouse(...), записывать нужные данные в таблицу.
В моде:
PHP Code:
new id = CreateHouse(...)
if (id != INVALID)
{
mysql_format(...)
mysql_tquery(...)
}
В библиотеке (house.inc):
PHP Code:
stock CreateHouse(...)
{
// create here
return id;
}
Какими еще способами можно отловить создание или изменения данных, может у вас есть свои варианты по сложнее?
Re: Создание независимых библиотек -
KrYpToDeN - 22.01.2018
Доступ к БД полюбому нужен будет. хоть параметром, но объект MySQL нужно будет передавать.
В стандартном Pawn только так, как ты написал.
Классов, структур нет же.
Re: Создание независимых библиотек -
Eims - 27.01.2018
Подключение к MySQL выносишь в отдельную библиотеку и снабжаешь её всеми вспомогательными функциями (типа получения ID подключения и т.п.). В остальных библиотеках уже работаешь с этими функциями.
Полностью независимые библиотеки создать не получится, как бы ты не пытался, ибо практически во всех системах есть что-то общее и часто эти системы должны "общаться" между собой. Можно лишь древовидную систему зависимостей реализовать и не более.
Re: Создание независимых библиотек -
pawnoholic - 27.01.2018
Да это понятно все, мне необходимо было именно сами библиотеки независимыми от MySQL сделать, я уже реализовал, то что хотел, просто на тот момент меня интересовали другие варианты, как на уровне мода можно сохранение сделать.
Re: Создание независимых библиотек -
Eims - 29.01.2018
Ну так поделился бы с народом
А на уровне мода сохранение сделать не получится (ну чтоб прямо вообще никуда данные не выносить из памяти). В лучшем случае, файлы или SQLite использовать, но и тут получится зависимость.
Re: Создание независимых библиотек -
pawnoholic - 29.01.2018
Quote:
Originally Posted by Eims
Ну так поделился бы с народом 
|
Все осталось так же, как и в первом посте описано.
При создании/изменении дома из мода если это нужно производиться сохранение в базу данных.
Есть ряд функций HouseCreate, SetHouseData, SetHouseDataInt, SetHouseDataFloat и их аналоги, например SetHousePos, SetHouseType и другие.