モジュールのディレクトリ構成は簡単
「XoopsCubeLegacyデベロッパーズ・バイブル」(以下、XCLDB)にモジュール開発に必要な情報が詳細にかかれています。しかし、予備知識ゼロだとこの本はy大変読みにくいと思います。
そこでモジュール開発用の簡単なXCLDBの読み方をまとめます。
ポイントは次の5つです。
1 モジュールには決まったディレクトリ構造がある。
2 モジュールには管理系のディレクトリ群と、ユーザー向けのディレクトリ群がある。
3 ユーザー系も管理系も、各ディレクトリはPHPのiniファイルか、PHPの格納先となっている。また地テンプレートのディレクトリも同様に管理系とユーザー系で分かれている。
4 もしディレクトリがあっても、肝心のファイルがない場合、デフォルトの動作が行われることになる。クラスの継承ではなく、ディレクトリに対応するのがあればそっちを優先するというリールである。
5 データベースはもともと重複利用がされることを想定している。具体的には固定名の表を利用しない。その票に{Prefix}と{module}を含ませてある。{Prefix}はインストール時にDBのプレフィックスとして入力するものと同じである。{module}}はどのモジュール名(インストールしてあるディレクトリ名)だとおもってよい。
このSQL文・DDL文は表作成・初期値の挿入、インデックス設定、トリガーや関数、ストアド作成までを担当する。バージョンアップの際にも、一定のル―ルでスキーマの変更なども実施することになっている。
XCLDBの250ページあたりにモジュールがインストールされた場合にサイドメニューグループに挿入されるための仕組みについてかいてあるが、メニューに関しては静的なブロック記述も現在では可能なので、あえて無視することも可能である。
続く。