1

個々のユーザーのカスタマイズを念頭に置いて Web サイトを構築しています。たとえば、クライアント #1 は、この機能を自分のアカウント用に設計してほしいと言い、ユーザー #2 は、これを自分のアカウントに追加してほしいと言うかもしれません。認証時にログインするたびにこれらの機能が読み込まれるphp ifコードを実装することを考えていました。しかし、私は何十万ものカスタマイズを行う予定です.各クライアントに各phpコードを追加するのはひどいでしょう.もっと簡単にストレスなく行う方法はありますか?

コメントから特定の回答への追加: 「基本的に、私はビジネス インテリジェンス会社の技術面を運営しています。私たちはさまざまなレポートと情報を多数の分析ツールとともに提供しています。したがって、あるユーザーは、あなたが提供するすべてのものに加えてカスタム機能が欲しいと言うかもしれません。ビジネスの特定の領域が分析され、アカウントにアップロードされます。ご想像のとおり、多くのアカウントに対してそのようなリクエストが何百件もある可能性があります。」

4

3 に答える 3

0

他の人が言っているように、「カスタマイズ」が何を意味するのかをもっとよく知らずに特定の答えを出すことは不可能です。唯一の賢明な答えは、あなたがすでに提供したものです。つまり、データの可変動作を可能な限り実装することです。

これ自体は簡単な演習ではないかもしれません-私が取り組んだ1つのアプリケーションで、大成功を収めたヒューリスティック人工知能エンジン(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コードをデータベースに保存し、実行時に評価することは可能ですが、コードインジェクション攻撃への扉が開かれるため、これはお勧めしません。OTOH、別の言語でカスタマイズを実装し、それをPHP(prologなど)から呼び出す方が簡単な場合があります。

C。

于 2010-08-09T12:06:41.003 に答える
0

最善の策は、自分でフレームワークを設計するか、このレベルのカスタマイズをサポートする既存のフレームワークを見つけることです。いずれにせよ、それは簡単な仕事ではありません。ユーザーごとにコードを起動すると、時間が経つにつれて、時代遅れの方法に起因するセキュリティの問題やバグが発生しやすくなります。

実行しているカスタマイズの種類と、(たとえば) テンプレート システムによってコード レベルから抽象化できるかどうかを自問してください。

于 2010-08-09T11:39:47.577 に答える
0

設計は、特定の一般的な要件に適合できます。したがって、いくつかの一般的な要件がない限り、設計を行うことはできません。たとえば、クライアントごとに異なるルック アンド フィールが必要な場合は、動的テーマを使用できます。同様に、さまざまなユーザーの位置の変更については、ユーザー プロファイリングを考えることができます。言語については、ユーザーの言語をプロファイルの一部として保持することもできます。ユーザー プロファイル管理のさまざまなアプローチを検討し、一歩先を行きましょう。

于 2010-08-09T11:40:46.090 に答える