トップページ > 1. ドキュメント > 1.2. CharcoalPHPの基本 > 1.2.1. 基本知識 > オブジェクト・パスについて

オブジェクト・パスについて

オブジェクト・パスとは

CharcoalPHPではさまざまなコンポーネントやオブジェクトを使用しますが、それぞれのコンポーネントやオブジェクトを特定するものとして「オブジェクト・パス」というものがあります。オブジェクト・パスの実体はアルファベット、コロン、アンダースコアなどで構成される文字列で、以下のようなフォーマットをしています。

[object name]@:[virtual directory name]:[virtual directory name]…

パート 使用可能文字 説明
object name アルファベット/数字/-/_/. オブジェクトの設定ファイル名を識別する
virtual directory name アルファベット/数字/-/_/. オブジェクトの配置ディレクトリ階層を識別する

「@」より前の部分は「オブジェクト名」と呼ばれ、オブジェクトの設定ファイル名を識別します。「@」より後ろの部分は「オブジェクト階層文字列」と呼ばれ、オブジェクトが定義されているクラスや設定ファイルがあるディレクトリ階層を識別します。
具体的には、コンポーネントの場合はcomponentsディレクトリ、モジュールであればmodulesディレクトリからの相対パスにマッピングされます。

 以下はCharcoalPHPに同梱されているデータベースアクセスコンポーネントである「SmartGatewayコンポーネント」のインスタンスを生成するコード例です。
ここではコンポーネントをロードしているので、フレームワークのcomponents/charcoal/dbディレクトリからクラスを定義したソースファイルを読み込み、インスタンス化します。

 以下はCharcoal_Factoryクラスを使ってrender_layoutイベントを作成するコード例です。
オブジェクト・パスの@以降、つまりオブジェクト階層指定が省略されています。この場合、オブジェクトはconfig以下からオブジェクト名で検索されます。

Pocket

Next Post
Comments are closed.