PHP経由でフレームワークを使用せずにWebアプリケーションを開発しました。私のアプリケーションには、主にフロントエンドとバックエンドの 2 種類のファイルがあります。最初のタイプには、HTML、PHP、CSS、JavaScript (jQuery)、およびバックエンド (PHP のみ) を含めることができます。pg_db_connection
データベースに接続する 1 つのクラスとsession
、ユーザーの Web セッション (php の関数session_start()
) を作成し、「ユーザー名」、users
データベース テーブル内のユーザー ID などの変数を保持する 1 つのクラスがあります。
pg_db_connection
クラスには、 から取得したデータベース リソースであるプロパティが$link
ありますpg_connect()
。このクラスには、 、 、 、 、 などのquery($query, $b_result = false, &$affected_rows = null)
関数insert($table, $values, $columns = null, &$affected_rows = null)
もbegin()
ありcommit()
ますrollback()
。すべてのフロントエンド ファイルの先頭で、型のオブジェクトを作成session
して実行します。
$db = new pg_db_connection($db_config,$log_mng);
$session = new session($db);
#if the session is not active go to login.php frontend and force the user to login
if(!$session->is_active())
{
header("Location: /html/admin/login.php?url=" . urlencode($_SERVER['REQUEST_URI']));
exit;
}
# If session is active proceed below
# Auto refresh the session
$session->autoReresh();
# Check if the current user have privileges to access this frontend file (second param is file path, third - file name)
if(!($session->passpermit($session->user_id(), $_SERVER['SERVER_ADDR'], dirname(__FILE__)."/", basename(__FILE__))))
{
header("Location: /html/admin/access_denied.html");
exit;
}
セッション クラス ストアuser_id, username
などを$_SESSION
. Web ユーザーがアクセス権限を持つファイルはデータベースに保存されるため、データベースへの接続が必要です。このフロントエンド ファイルに動的データをロードする場合は、jQuerypost
またはload
関数を使用して、1 つのバックエンド ファイルを呼び出します。ほとんどの場合、このバックエンド ファイルには が含まれpg_db_connection
、必要に応じていくつかのデータベース クエリを実行します - データに対してさらに作業を行い (HTML タグでラップするか、何らかの方法で配列をフォーマットしてjson_encode
から)、HTML または JSON をフロントエンドに取得します。ファイル。次に、jquery の load または post コールバック メソッドで、この HTML が必要な場所に書き込まれるか、JSON が何らかの方法で HTML に変換され、HTML のどこかに再び書き込まれます。
既知のアーキテクチャ パターンを使用するかどうか疑問に思っています。または、説明されているアプローチに最も近いアーキテクチャ パターンはどれですか?