P_BLOGの基本構成は以下のようになっています。各ディレクトリの定義は以下のようになっています。
admin
contents
resources
images
include
lang
P_BLOG自体も基本的にこのモジュール構成の規則に則って構成するものとします。例外として、画像のパスなどをシンプルにするためアップロード用のディレクトリ「/resources/
」のみ、トップレベルディレクトリに配置しています。
基本的に各ファイル、リソース、および関数は下位の階層へと継承され参照可能となるもの、とします。
include
」内の関数ファイル「fnc_*
」ファイルについて各関数は「/include
」内の「fnc_*
」で始まるファイルに記述しています。最も上位にある「/include
」ディレクトリに納められている「fnc_base.inc.php
」が、基盤となる関数定義ファイルで、全てのページで使用される、
はここに記述されています。
各子ディレクトリ(例:admin, analyze, files, forum など)にある「/include
」ファイルは、それ以下のディレクトリでしか使われないファイルを納めています。「/images
」も同様に、それ以下のディレクトリでしか使われない画像が納められています。
/include/fnc_base.inc.php
」 -- 全てのページで使用される関数
/admin/include/
」 -- adminモードのみで使用される/analyze/include/
」-- analyzeでのみ使用される/files/include/
」-- filesでのみ使用される/forum/include/
」-- forumでのみ使用される/images/
」 -- 全てのページで使用される画像
/admin/images/
」 -- adminモードのみで使用される/analyze/images/
」-- analyzeでのみ使用される/forum/images/
」-- forumでのみ使用されるプラグインは以下の場所にインストールされるものとします。
「/include/user_include/plugins/
」
プラグイン名は必ず以下の規則性を持たせるものとします。
plg_
」とします。.inc.php
」とします。特に 1. と 2. は重要で、この規則に従わない名前を用いたファイルはプラグインとして認識されません。
plg_foo_bar.inc.php
プラグインコードとは、プラグインが返す変数で、{}で括ってテンプレートに張りつけるコードを意味します。
$plugin['CREATER_CODE']['foo_bar']
」とします。
$plugin
」はプラグインのグループ変数です。['CREATER_CODE']
は常に大文字とアンダースコアで表し、略字可能です。['foo_bar']
は常に小文字とアンダースコアで表記し、どのような機能を提供するプラグインか一目で分かり易いようにするためなるべく略字は避けて下さい。
{$plugin['PBPROJ']['calendar']}
class
を使ってパッケージ化してください。