ローダー系の関数
ローダー系の関数では、各ポジションのファイルを順にロードします。
Ziu には3つのポジションが存在します。
core/(対象フォルダ): Ziu コア標準に用意されているもの (変更不可)apps/_(対象フォルダ): アプリケーション全体で共有するものapps/(アプリケーションフォルダ名)/_(対象フォルダ): アプリケーションごとに用意するもの
コア以外のポジションには対象フォルダのプレフィックスにアンダースコア _ を付けフォルダ作成する必要があります。
パス階層指定による連動したファイル配置/クラス名について
各ローダーではコールする対象を、拡張子を除くファイル名で指定します。
一部のローダーはパス階層でのロード処理は行ないません。(コンフィグローダー/モデルローダー)
つまり、 (対象フォルダ) 直下に各ファイルを配置する事になります。
目次
- コンフィグローダー : conf() ― 設定ファイルを読込み内容を返します
- ライブラリローダー : lib() ― ライブラリを読込みインスタンスを返します
- モデルローダー : model() ― モデルを読込みインスタンスを返します
- ヘルパーローダー : help() ― ヘルパーを読込みます
- 外部ファイルローダー : import() ― 外部ファイルを読込みます
コンフィグローダー
conf($name)
フォルダ conf 配下にあるファイルをロードします。
ファイル名は任意に指定してコンフィグを配置します。記述は必ず return array(); を用いる必要があります。
ロードポジション
core/confapps/_confapps/(アプリケーションフォルダ名)/_conf
同名のファイルが重複した場合は設定内容はマージされ上書きします。
戻り値
型 : mixed
コンフィグファイルの配列指定した設定内容によります。
引数値
| 項目 | 型 | 内容 |
|---|---|---|
| $name | string | ロードするコンフィグ名を指定します(パス階層指定による連動は無し) |
コンフィグ名以降にスラッシュ / 区切りで連想配列を指定して値を追従して取得することができます。
例)
$data = conf('common/site_name');の戻り値の変数は、$data['sitename'];に代入
スラッシュより前の文字列がコンフィグ名となります。
ライブラリローダー
lib($name, $param = NULL)
フォルダ lib 配下にある Ziu 標準、又は任意のライブラリをロードします。
ファイル名は任意に指定してライブラリを配置します。記述はクラス定義となります。
クラス名は、配置したファイル名又はフォルダ階層構造と連動したクラス名にします。
ロードポジション
apps/(アプリケーションフォルダ名)/_libapps/_libcore/lib
ロードポジションの順により、先にマッチしたライブラリがロードされます。
戻り値
型 : object
シングルトンによるクラスインスタンスを取得できます。
引数値
| 項目 | 型 | 内容 |
|---|---|---|
| $name | string | ロードするライブラリ名を指定します(パス階層指定による連動は有り) |
| $param | array | ロードするライブラリに渡すパラメータ値を指定します |
例)
$obj = lib('member/common');でコールする場合は
パス指定と同じフォルダ階層で配置(対象フォルダ)/member/common.php
クラス名は階層構造の/とクラス名の_が連携し、Member_Commonと定義
モデルローダー
model($name, $param = NULL)
フォルダ model 配下にある任意のモデルをロードします。
同時にモデルスーパークラス Model_Super が自動で読込まれ、DAOインスタンスの初期化を行う処理を継承することができます。
ファイル名/クラス名はテーブル名に連動した形で指定しモデルを配置します。記述はクラス定義となります。
定義については、モデル クラス を参照。
ロードポジション
apps/(アプリケーションフォルダ名)/_modelapps/_modelcore/model
ロードポジションの順により、先にマッチしたモデルがロードされます。
戻り値
型 : object
シングルトンによるデータオブジェクト(DAO)インスタンスを取得できます。
引数値
| 項目 | 型 | 内容 |
|---|---|---|
| $name | string | ロードするモデル名を指定します(パス階層指定による連動なし) |
| $param | array | ロードするモデルに渡すパラメータ値を指定します |
ヘルパーローダー
help($name)
フォルダ help 配下にあるファイルをロードします。
ファイル名は任意に指定してヘルパー関数を配置します。記述は関数定義となります。
ロードポジション
core/helpapps/_helpapps/(アプリケーションフォルダ名)/_help
同名のファイルが重複した場合は、ロードポジションの順でロードされます。
同名の関数を重複宣言した場合、エラー PHP Fatal error: Cannot redeclare が発生します。
戻り値
型 : void
引数値
| 項目 | 型 | 内容 |
|---|---|---|
| $name | string | ロードするヘルパー名を指定します(パス階層指定による連動あり) |
外部ファイルローダー
import($path)
任意のフォルダにあるファイルをロードします。
拡張子は「.php」を省略できます。
ロードポジション
path/to: 任意のパスcore/(対象フォルダ)apps/_(対象フォルダ)apps/(アプリケーションフォルダ名)/_(対象フォルダ)
ロードポジションの順により、先にマッチしたファイルがロードされます。
(対象フォルダ) には、lib/, help/など、他のローダーで利用するフォルダ名が指定できます。
戻り値
型 : void
引数値
| 項目 | 型 | 内容 |
|---|---|---|
| $path | string | ロードするファイルパスを指定します(パス階層指定による連動あり) |