データベース設計
名前付け規約
- 基本的な名前付け規約として “アッパーキャメルケール” で定義します。
- マスターテーブルにはプリフィックス(接頭語)”Mst” を、トランザクションテーブルにはプリフィックス “Trn” を付けます。
例. ユーザーマスター → “MstUser”、”MstUserBookmark”
※その他、アクセスログなど重要度の低いテーブル名のプリフィックスとして “Log” を付ける場合等があります。
基本概念
テーブル名やフィールド名、関数名など、プロジェクトファイル内でそのオブジェクトを検索したときに、できるだけそのオブジェクトのみを検索/一括置換できるように(他のオブジェクトが検索されないように)唯一無二の名前を付けるべきである。
データベース構築
作業ディレクトリ
データベースを更新するためのファイル *.sql 等は /_docs/sql/ フォルダーに保存します。
※”docs”ディレクトリ名の前に “_”(アンダーバー)が付いているのは、このディレクトリがサーバー上にはアップロードしない(ローカルのみ存在する)特殊なディレクトリであり、かつ使用頻度が高くディレクトリの中でも上方に配置することが望ましいためである。
ディレクトリ構造
ファイル名 – 名前付け規約
- ユーザー 登録 … user.php
- ユーザー データ更新 … user_dbupdate.php
- ユーザー 一覧 … user_view.php
共通ファイル
・”_”からファイル名を定義します。
- _header.php … 全ファイルで読む込むヘッダーファイル
- _header_head.php … 全ファイルで読み込む <head> タグ内のソース
- _header_body.php … 全ファイルで読み込む <body> タグ内のソース
- _footer_body.php … 全ファイルで読み込む <footer> タグ内のソース
クラス設計
基本的に1つのテーブルにつき1つのクラスを作成する
例. MstUser → _clsUser.php
関数名
データ新規追加用関数 → addUser();
変数名
モジュールレベル変数 / グローバル変数(システム内のどこからでも参照できる変数)は “Module” の “M” を接頭語に付けて “$m_” から始めます。
変数のプリフィックス(接頭語)
- ボタン … “btn”
- 日付時刻型 … “dtm”
- 入力フォーム … “frm”
- 整数型 … “int”
- オブジェクト型 … “obj”
テーブルから ID を元に1レコード取得する関数の名前付け規約
例. MstUser から UserID を渡して1レコードを取得する場合
getUserByUserID
データを論理削除する関数の名前付け規約
例. MstUser を削除する場合
deleteUserByTopicID
データを物理削除する関数の名前付け規約
例. MstUser を削除する場合
physicalDeleteUserByTopicID
データ種別から文字列を変換して取得する関数の名前付け規約
例. MenuContactType の値に対応する文字列を取得する関数
getMenuContactTypeText($intMenuContactType){}
デザイン / CSS
クラス 名前付け規約
・基本的に「プロパティ + “-” + バリュー」をクラス名とする。
※”%”は省略する
例. width: 100% → .width-100
table 用クラス
・入力フォーム … <table class=’form’>
・一覧用 … <table class=’view’>
SNS開発18年で2つのSNSを開発・運用中の当社が、あなたのアイデアを形にするお手伝いをします。