2

私は現在、小さな自家製の PHP フレームワークに取り組んでいます。

ユーザー接続、ユーザー グループ、ユーザーとグループの両方のアクセス権などを自動的に管理したいと考えています。

ただし、一部の Web サイトでは、これらの要素の一部が必要ない場合があります。たとえば、ブログやショーケース サイトでは、グループやページ アクセス管理は必要ない場合があります。

フレームワークに未使用のものを含めることを避けるために、これを 3 つの個別のモジュールに分割したいと思います (次のモジュールではさらに増える可能性があります)。これらの各モジュールには、モジュール独自のテーブルを作成し、依存関係のある他のテーブルを変更する (列、外部キーなどを追加する) 独自の SQL インストール スクリプトがあります。

「ユーザー」、「グループ」、「アクセス」の 3 つのモジュールがあるとします。

ここで、3 つのモジュールがすべて含まれていると想像してみましょう。データベースは次のようになります。

user :
- id
- login
- password

group :
- id
- label

right :
- id
- label

user_group :
- userId
- groupId

user_right :
- userId
- rightId

group_right :
- groupId
- rightId

ユーザー モジュールの SQL スクリプトは、ユーザー テーブルを作成します。

group モジュールの SQL スクリプトは、group テーブルと user_group テーブルを作成します。

アクセスモジュールのSQLスクリプトは正しいテーブルを作成します...これが私の問題です.user_rightおよびgroup_rightテーブルも作成しますか? 他の 2 つのモジュールが含まれているかどうか (または、ユーザーなしでは権限が存在しないため、少なくともグループ モジュールが含まれているかどうか)、アクセス モジュールのインストール SQL スクリプトの内部を確認する必要があることを判断するには、次のようにします。

次のようなことを行う方法はありますか:

if table exists 'group' create table 'group_right' ...

可能であれば、これもクロスデータベースにしたいと思います。

また、モジュール フォルダーが存在するかどうかをテストし、PDO を使用して適切なクエリを実行する SQL スクリプトの代わりに PHP スクリプトを使用することもできますが、これは少し汚いように見えます。

どうすればそれができるかについての提案は大歓迎です:)読んでくれてありがとう。

4

0 に答える 0