2010-08-09 4 views
1

Я создаю сайт с индивидуальной настройкой пользователя. Так, например, клиент # 1 может сказать, что я хочу, чтобы эта функция была разработана для моей учетной записи, а затем пользователь # 2 может сказать, что я хочу, чтобы это было добавлено в мою учетную запись. Я думал о внедрении кода php if, где после аутентификации эти функции будут загружаться при каждом входе в систему. Но у меня есть сотни тысяч настроек, которые я буду делать, чтобы добавить каждый php-код для каждого клиента, будет ужасно, есть ли способ сделать это легче и с меньшим стрессом?Индивидуальная индивидуальная настройка пользователя

Добавлено из комментариев к конкретному ответу: «В основном я занимаюсь технической поддержкой бизнес-аналитики. Мы предлагаем различные отчеты и информацию вместе с десятком аналитических инструментов. Поэтому один пользователь может сказать, что хочу все, что вы предлагаете плюс настраиваемая функция, в которой анализируется конкретная область бизнеса, а затем загружается на их счет. Как вы можете себе представить, могут быть сотни таких запросов для множества учетных записей ».

+1

Сотни тысяч настроек! Что именно эти настройки и почему вы не можете добавить логическое значение для включения и выключения в состоянии сеанса? –

+2

Этот вопрос слишком туман. Вам нужно более подробно рассказать о том, какие аспекты будут настроены и как. –

ответ

0

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

Задайте себе, какие настройки вы делаете, и если они могут быть отвлечены от уровня кода (например) системой шаблонов.

+0

Хммм спасибо за ответы. Позвольте мне дать немного больше информации. Предположим, что клиент №1 говорит, что хочет настроить свою учетную запись, а клиент №2 говорит, что я хочу, чтобы все мои пользователи имели возможность загружать фотографии и отправлять сообщения.Ищете такие настройки. –

0

Конструкции могут вписываться в определенные общие требования. Поэтому до тех пор, пока у вас не будет каких-то общих требований, вы не сможете сделать дизайн. Например, если для каждого клиента требуется различный внешний вид, вы можете пойти на динамическую тематику. Аналогичным образом, для позиционных изменений для разных пользователей вы можете подумать о профилировании пользователей. Для языка также вы можете сохранить язык пользователя как часть профиля. Изучите различные подходы к управлению профилями пользователей, а затем сделайте шаг вперед.

0

Как говорили другие, невозможно дать конкретный ответ, не зная намного больше о том, что вы подразумеваете под «настройкой». Единственный разумный ответ - тот, который вы уже предоставили, т. Е. Максимально реализовать поведение переменных в данных.

Это само по себе не может быть тривиальным упражнением - в одном приложении, над которым я работал, я разработал эвристический движок искусственного интеллекта (на PHP), который был чрезвычайно успешным - но это было довольно сложное упражнение в разработке программного обеспечения, Я не решаюсь рекомендовать всем, кто должен задать вопрос.

Предполагая, что толкать всю логику приложения в данные непрактично, тогда есть некоторые другие подходы, которые вы могли бы рассмотреть, например. Разделение настроек на отдельные PHP файлы (или шаблоны, если его просто дисплей вещь):

<?php 

session_start(); 
/* do authentication checks...*/ 
$app=$_SESSION['user_profile'] . '/' . dirname($_SERVER['SCRIPT_NAME'] . '/inc.php'); 
if (! include_once($app)) { 
    include_once('default/'.dirname($_SERVER['SCRIPT_NAME'].'/inc.php'); 
} 
... 

Хотя было бы хранить Возможное код PHP в базе данных и Eval его во время выполнения - я бы не рекомендовал это как он открывает дверь для инъекций кода. OTOH, может оказаться проще реализовать настройки на другом языке и вызвать это из PHP, например. Пролог.

C.

+0

ОК, это то, что я имею в виду под настройками: В основном я использую техническую сторону компании бизнес-аналитики. Мы предлагаем различные отчеты и информацию вместе с десятком аналитических инструментов. Поэтому один пользователь может сказать, что я хочу, чтобы все, что вы предлагаете, плюс пользовательская функция, в которой анализируется конкретная область бизнеса, а затем загружается на их учетную запись. Как вы можете себе представить, может быть сотни таких запросов для большого количества учетных записей. Я надеюсь эта информация поможет. –

+1

Не делая пару дней работы по анализу (нет, это не предложение), все равно сложно сказать, но похоже, что вы только хотите выставлять определенные продукты определенным пользователям - это просто сделать в данных только с несколькими строками кода для управления данными. – symcbean

Смежные вопросы