Я разрабатываю CMS, который будет использоваться несколькими компаниями. Таким образом, у каждого пользователя будут свои личные предпочтения и настройки.PHP> Лучший способ хранения редактируемых пользовательских настроек для CMS
Поиск в форуме, я узнал, что сохранение настроек конфигурации в файле .ini может быть хорошим способом ... Но в моем случае каждый пользователь будет иметь возможность изменять свои настройки, когда захочет ,
Помня о том, что каждый пользователь будет иметь от 30 до 50 сохраненных параметров (только некоторые переменные/значения или несколько массивов), и каждый пользователь будет иметь свою собственную базу данных, но все файлы будут совместно использоваться на том же сервере ,
Итак, мне было интересно, что это лучший способ ...
1) БАЗА ДАННЫХ:
Чтобы создать «конфигурации» таблицы, которая будет хранить каждый параметр в виде строки, и приложение будет доступ каждый раз загружать настройки; что-то вроде этого:
строка 1 -> вар = "user_logo_url" // тип = "строка" // значение = "http://exemple.com/logo.jpg"
строка 2 -> вар = "some_array_value" // Тип = " массив»// значение =„сериализованное значение здесь“
2) XML:
хранить данные в файл XML и разобрать его, чтобы загрузить конфигурацию (или, возможно, загрузить на входе и сохранить его в $ _SESSION.
3) БАЗЫ ДАННЫХ и fwrite INI или файл PHP:
Хорошо, это я даже знаю, если это возможно, но он собирается сохранить все настройки в базе данных (для удобства управления), а затем использовать fwrite для сохранения настроек как переменные в php-файле, а также, чтобы иметь лучшую производительность при загрузке настроек.
Я довольно новый на php, поэтому я не знаю, что лучше всего подходит для производительности приложения, и был бы признателен за любую помощь для этого!
Если я не был прояснен, пожалуйста, дайте мне знать!
Спасибо!
Спасибо за подсказку ... Но для загрузки всех строк конфигурации каждая страница не попала бы в производительность? Лучше ли загружать все конфиги при входе в систему и хранить в качестве $ _SESSION или загружать базу данных на каждую страницу и сохранять временную директорию меньшей (с меньшим количеством хранимых переменных сеанса). – RBR
Это зависит от того, насколько вы безопасны. Если ничего важного (или безопасности) не будет сохранено в настройках, использование сеанса вполне приемлемо. Если, однако, вы сохраняете что-то вроде ключей доступа к API или чего-то, что должно оставаться скрытым, вам лучше звонить в базу данных каждый раз. EDIT: Я храню _some_ значения в сеансе, делая вызовы для других по этой причине. – ahwm
Сначала нет важных значений для хранения, но действительно хорошо знать, что вы сказали о безопасности ... Так что даже будучи серверной стороной, $ _SESSIONS (а не файлы cookie) не настолько безопасны для хранения паролей, например? Еще раз спасибо =) – RBR