このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
|
apricot:core:basic-class [2020/05/08 09:05] y2sunlight [言語ファイル] |
apricot:core:basic-class [2020/06/03 11:39] (現在) tanaka [ErrorBagクラス] |
||
|---|---|---|---|
| 行 13: | 行 13: | ||
| * [[apricot: | * [[apricot: | ||
| * [[apricot: | * [[apricot: | ||
| + | * [[apricot: | ||
| * [[apricot: | * [[apricot: | ||
| * [[apricot: | * [[apricot: | ||
| - | * [[apricot:app: | + | * [[apricot: |
| - | + | ||
| - | \\ | + | |
| 次に、Applicationクラス以外の基本的なコアクラスを作ります。ここで作成する多くのクラスはシングルトンとして実装します。 | 次に、Applicationクラス以外の基本的なコアクラスを作ります。ここで作成する多くのクラスはシングルトンとして実装します。 | ||
| 行 281: | 行 280: | ||
| * name --- ログの名前(既定値は 環境変数APP_NAMEの値) | * name --- ログの名前(既定値は 環境変数APP_NAMEの値) | ||
| - | * path --- ログの出力パス(既定値は var/log/) | + | * path --- ログの出力パス(既定値は var/logs/) |
| * level --- ログの出力レベル(既定値は ' | * level --- ログの出力レベル(既定値は ' | ||
| * max_files --- ログファイルの最大保存数(0は無制限) | * max_files --- ログファイルの最大保存数(0は無制限) | ||
| 行 647: | 行 646: | ||
| * renderer.initialize --- 初期化コードをレンダリングするか否か(既定値はtrue) | * renderer.initialize --- 初期化コードをレンダリングするか否か(既定値はtrue) | ||
| * renderer.stacked_data --- スタックデータをレンダリングするか否か(既定値はtrue) | * renderer.stacked_data --- スタックデータをレンダリングするか否か(既定値はtrue) | ||
| - | |||
| - | \\ | ||
| - | |||
| - | ===== ORM ====== | ||
| - | |||
| - | ORマッパーには[[basic-library: | ||
| - | |||
| - | \\ | ||
| - | |||
| - | ==== 設定ファイル ==== | ||
| - | |||
| - | {{fa> | ||
| - | <code php idiorm.setting.php> | ||
| - | <?php | ||
| - | return | ||
| - | [ | ||
| - | ' | ||
| - | ' | ||
| - | ' | ||
| - | ' | ||
| - | ' | ||
| - | ], | ||
| - | ]; | ||
| - | </ | ||
| - | |||
| - | 設定はデータベース毎に行います。apricotではSQLiteを使用します。 | ||
| - | |||
| - | * SQLite.db_file --- SQLiteなどのファイル共有型DBの場合に設定 (既定値は var/ | ||
| - | * SQLite.connection_string --- 接続文字列 | ||
| - | * SQLite.caching --- キャッシングの有無 | ||
| - | * SQLite.logging --- ロギングの有無 | ||
| - | |||
| - | 詳しくは以下を参照して下さい:\\ | ||
| - | https:// | ||
| - | |||
| - | |||
| - | \\ | ||
| - | |||
| - | ==== 初期設定ファイル ==== | ||
| - | |||
| - | Idiorm(ORMクラス)には以下の初期設定ファイルが存在します。 | ||
| - | |||
| - | {{fa> | ||
| - | <code php idiorm.setup.php> | ||
| - | <?php | ||
| - | <?php | ||
| - | use Core\Foundation\Security\UserAuth; | ||
| - | |||
| - | // | ||
| - | // ORM(idirom)の初期設定 | ||
| - | // | ||
| - | return function(): | ||
| - | { | ||
| - | // データベースファイルの準備 | ||
| - | $db_file = config(' | ||
| - | if (!file_exists($db_path=dirname($db_file))) | ||
| - | { | ||
| - | mkdir($db_path, | ||
| - | } | ||
| - | |||
| - | // DBファイルの存在確認 | ||
| - | $new_db_file = !file_exists($db_file); | ||
| - | |||
| - | // データベース接続 | ||
| - | ORM:: | ||
| - | ' | ||
| - | ' | ||
| - | ' | ||
| - | ' | ||
| - | { | ||
| - | // SQL debug logging | ||
| - | \Core\Log:: | ||
| - | }, | ||
| - | ]); | ||
| - | |||
| - | // | ||
| - | // 初期データの作成 | ||
| - | // | ||
| - | if ($new_db_file) | ||
| - | { | ||
| - | $sql_text = file_get_sql(assets_dir(' | ||
| - | if (!empty($sql_text)) | ||
| - | { | ||
| - | foreach($sql_text as $sql) | ||
| - | { | ||
| - | ORM:: | ||
| - | } | ||
| - | } | ||
| - | } | ||
| - | |||
| - | // | ||
| - | // テーブルが空の時、初期ユーザを作成する | ||
| - | // | ||
| - | $user = ORM:: | ||
| - | if ($user===false) | ||
| - | { | ||
| - | // オートインクリメントのクリア | ||
| - | ORM:: | ||
| - | |||
| - | // 初期ユーザ作成 | ||
| - | $user = ORM:: | ||
| - | $user-> | ||
| - | $user-> | ||
| - | $user-> | ||
| - | $user-> | ||
| - | $user-> | ||
| - | $user-> | ||
| - | $user-> | ||
| - | } | ||
| - | |||
| - | // SQLログ開始 | ||
| - | ORM:: | ||
| - | return true; // Must return true on success | ||
| - | }; | ||
| - | </ | ||
| - | |||
| - | 初期設定ファイルでは以下の事をおこないます: | ||
| - | |||
| - | * データベースの保存フォルダが存在しない場合は作成します | ||
| - | * データベースへの接続 | ||
| - | * 初期データの作成 (後述します: | ||
| - | * SQLログの開始 (logging設定がtrueの場合) | ||
| \\ | \\ | ||
| 行 833: | 行 710: | ||
| </ | </ | ||
| - | Viewクラスはテンプレートファイルのパス、コンパイル後のHTMLファイルのパス及び実行モードをBladeOneのコンストラクタに渡しているだけです。それらの値は、設定ファイルか(bladeone.setting.php)から取得します。 | + | Viewクラスはテンプレートファイルのパス、コンパイル後のHTMLファイルのパス及び実行モードをBladeOneのコンストラクタに渡しているだけです。それらの値は、設定ファイル(bladeone.setting.php)から取得します。 |
| \\ | \\ | ||
| 行 1057: | 行 934: | ||
| </ | </ | ||
| - | > この関数名は | + | > この関数名は |
| \\ | \\ | ||
| 行 1070: | 行 947: | ||
| ^メソッド^機能^ | ^メソッド^機能^ | ||
| - | |%%_ _%%construct($errors=null, | + | |< |
| |count(string $name=null): | |count(string $name=null): | ||
| |has(string $key, string $name=self:: | |has(string $key, string $name=self:: | ||
| |get(string $key, string $name=self:: | |get(string $key, string $name=self:: | ||
| |all(string $name=null): | |all(string $name=null): | ||
| - | |put($errors)|xxxx| | + | |put($errors)|エラー配列の設定| |
| - | + | ||
| - | <fs small>< | + | |
| > | > | ||
| 行 1110: | 行 985: | ||
| * @param string $name Bag name | * @param string $name Bag name | ||
| */ | */ | ||
| - | public function | + | public function |
| { | { | ||
| $this-> | $this-> | ||