Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Что работает быстрее - setting/setting или setting/module?


Recommended Posts

Добрый день! Пилю я шаблон где просто нужно выводит на сайте введённые данные в модуле админки. Например для вывода преимуществ (картинка, заголовок, описание). 
Это можно реализовать, на сколько я понимаю, с помощью модели  setting/setting и setting/module.

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

Заранее спасибо за помощь! 

Надіслати
Поділитися на інших сайтах


Вообще-то эти модели работают с разными таблицами. Функция editSetting удаляет запись и создает новую, а editSettingValue обновляет существующую запись. В контроллере можно организовать проверку, типа if(!$config== $this->model->setting_setting->getSetting(код)) editSetting($code)

else

editSettingValue($code', $key, $value)

То есть если запись еще не создана, то создаем, иначе обновляем

Надіслати
Поділитися на інших сайтах

К сказанному выше добавлю, что по вашим сеттингам движок при каждом старте формирует огромную синглтон переменную, выкачивая всё из `oc_settings` и если планируете заливать много данных. А раз встал вопрос о скорости - вы планируете. То лучше создать отдельную таблицу и записать туда. Иначе при каждом "зайду гляну чё у них там нового на главной" пользователь будет ждать пока ваш движок вытянет данные из настроек. Вообще синглтон чуть ли не антипаттерн, не советую злоупотреблять сеттингсами) Даже крупные мододелы, аля яндекс.касса или СДЕК выносят свои обьёмные данные во внешние Json файлы, но это делается ради целостности пользовательского приложения, плаг-н-плей так сказатб) ничто не мешает завести свою табличку)

Змінено користувачем ArtValensky
  • +1 3
Надіслати
Поділитися на інших сайтах


6 часов назад, ArtValensky сказал:

К сказанному выше добавлю

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

Надіслати
Поділитися на інших сайтах

давай пообщаемся - ты тут такую кучу выложил. но мне понравилось синглтон -значит знаешь. но в опенкарте в основном идет инсталл.
https://m.habr.com/ru/post/31375/

Sent from my Redmi Note 8 Pro using Tapatalk

Надіслати
Поділитися на інших сайтах


9 часов назад, chukcha сказал:

чего?

вот синглтон TransliterateCls::_transliterate($r['name'])

вот инсталл $this->db->query, то есть объект

внутри класса функции вызываются для синглтона self::, а для инсталла $this->

Змінено користувачем esculapra
Надіслати
Поділитися на інших сайтах

15 часов назад, ArtValensky сказал:

ничто не мешает завести свою табличку

Это если он знает, как это сделать. Создать таблицу можно через инструмент импорт-экспорт. Но потом нужно еще внести правки в контроллер и модель.  И если на то уж пошло, то да, система вытягивает кучу переменных config. Но если, например, мне нужно узнать, подключен ли seo, то я запрашиваю getSettingValue

Но если нужно получить настройки модуля, то нафига изобретать велосипед? getModule($module_id) отлично справляется с задачей.

 

Надіслати
Поділитися на інших сайтах

15 часов назад, esculapra сказал:

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

Ох спасибо) теперь я больше понимаю синглтон, я думал это просто обьект доступный во всех частях приложения, но даже не думал что он должен иметь лишь одну реализацию, и вообще кругом статика. Но я всё же  думаю что сеттингсы это плохо. Всё что серве отдаёт на исполнение, вызывает startup и загрузку всех данных из oc_settings, т.е в дальнешем на каждый чих из js или ещё чего будет грузиться раздутый settings из базы)

Змінено користувачем ArtValensky
Надіслати
Поділитися на інших сайтах


5 часов назад, esculapra сказал:

Это если он знает, как это сделать. Создать таблицу можно через инструмент импорт-экспорт. Но потом нужно еще внести правки в контроллер и модель.  И если на то уж пошло, то да, система вытягивает кучу переменных config. Но если, например, мне нужно узнать, подключен ли seo, то я запрашиваю getSettingValue

Но если нужно получить настройки модуля, то нафига изобретать велосипед? getModule($module_id) отлично справляется с задачей.

 

Ну я и написал, что "если планируется загрузка большой даты в конфиг" а не создавать таблицу на каждый чих. А создать таблицу вообще дело пары минут, да и модельку нарисовать) Если человек пишет модуль поди разберётся)

Змінено користувачем ArtValensky
Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.