トップページ > 1. ドキュメント > 1.2. CharcoalPHPの基本 > 1.2.1. 基本知識 > ディレクトリ構成

ディレクトリ構成

全体の構成

 CharcoalPHPのアプリケーション構成はおおまかに以下のようになっています。

パス 格納されているファイルの説明
/charcol フレームワークコード
/public_html フロントコントローラやJavaScriptファイルといった公開ディレクトリに配置されるファイル
/web_app 各プロジェクトの格納場所

 上記3つのファイル群の場所は任意に決めることができます。同じ階層に置かない場合はフロントコントローラ(index.php)の設定内容を変更する必要があります。

charcoal以下の構成

 CharcoalPHPフレームワークのソースコードはアプリケーションコードと分離され、まとめて1つのディレクトリに配置されます。CharcoalPHPはフロントコントローラ型のWebフレームワークですから、フロントコントローラ(index.php)からフレームワークソースの配置先が参照できればよいことになります(定数CHARCOAL_HOMEで指定します)。

 実際のフレームワークソースコードのディレクトリ構成は以下のようになります。

public_html以下の構成

 フロントコントローラ(index.php)やJavaScriptファイル、画像ファイルなどを自由に配置します。index.phpで定義される定数の意味は次の通りです。

定数名 説明
CHARCOAL_RUNMODE フレームワークの実行モード。Webアプリケーションの場合は「http」
CH_BASE_DIR フレームワークの基点ディレクトリ。
CHARCOAL_HOME フレームワークのソースディレクトリ。
CH_WEBAPP_DIR 各プロジェクトが配置されるディレクトリ
CH_PROJECT このフロントコントローラを使用する場合のプロジェクト名
CH_APPLICATION このフロントコントローラを使用する場合のアプリケーション名
DEFAULT_PROC_PATH URLでプロシージャパスが指定されなかった場合のデフォルトのプロシージャパス

web_app以下の構成

 CharcoalPHPアプリケーションは「フレームワーク/プロジェクト/アプリケーション」の3階層構造をしています。プロジェクト/アプリケーションの配置先を分けることで、ログインシステムなどアプリケーション間で共通のロジックがある場合、その実装コードであるクラスを共有することができます。

 具体的には、以下のようにファイルを配置します。

 各ディレクトリの意味は次の通りです。

ディレクトリ名 説明
apps このディレクトリ以下にアプリケーションファイル群を配置
classes apps以下のアプリケーションに共通なクラスを配置
config apps以下のアプリケーションに共通な設定ファイルを配置
modules apps以下のアプリケーションに共通なモジュールファイルを配置

apps以下の構成

apps以下の構成は以下の通りです。

 各ディレクトリの意味は次の通りです。

ディレクトリ名 説明
classes アプリケーションで使用するクラスを配置
config アプリケーションで使用する設定ファイルを配置
logs ログファイルの出力先
modules アプリケーションで使用するモジュールファイルを配置
sessions セッションファイルの出力先(デフォルトのセッションハンドラを使用する
tmp 一時ファイルの出力先ディレクトリ
Pocket

Previous Post
Comments are closed.