トップページ > リリース > CharcoalPHP Ver.2.21.0リリース

CharcoalPHP Ver.2.21.0リリース

CharcoalPHP Ver.2.21.0をリリースしました。

こちらからダウンロードできます。download

今回の変更点は

  1. simple_echoコアフックを追加
  2. getXXXメソッドの返却値を変更
  3. %PROC_PATH_REAL%マクロの追加
  4. Charcoal_EventLoopCounterOverflowException例外の追加

になります。

1. simple_echoコアフックを追加

 これまでコアフックはdefault(Charcoal_DefaultCoreHook)のみでしたが、今回simple_echo(Charcoal_SimpleEchoCoreHook)コアフックを追加しました。このクラスはログにメッセージを出力する代わりに画面上にメッセージを表示します。
 またsimple_echoコアフックの追加に伴いdefaultコアフックは名称をsimple_log(Charcoal_SimpleLogCoreHook)と名称変更しました。

2. getXXXメソッドの返却値を変更

 Charcoal_ConfigPropertySet/Charcoal_HashMap/Charcoal_SandboxProfileなど、getXXX系メソッドを持つクラスが変更されプリミティブ型(Charcoal_Boolean/Charcoal_Integer/Charcoal_Float/Charcoal_String/Charcoal_Vector)を返却するようになりました。

3. %PROC_PATH_REAL%マクロの追加

 設定ファイルなどで使用できる組み込みマクロに%PROC_PATH_REAL%キーワードが追加されました。このマクロはプロシージャパスを実ディレクトリに変換した文字列(@:foo:barならば”foo/bar”)に展開されます。このマクロを使用すればたとえばプロシージャごとにログの出力先をプロシージャパスに対応するディレクトリに出力するといったことができるようになります。
 ただし、システムプロファイル設定ファイル(xxx.profile.ini)では%PROC_PATH_REAL%マクロは使用できません。

Charcoal_EventLoopCounterOverflowException例外の追加

 Charcoal_DefaultTaskManagerを使用している場合、これまで処理されなかったイベントは無視されていましたが、今回のリリースからイベントがキューに残っている間はイベントループを繰り返し実行するようになりました。

 またタスクの設定を間違えて永久ループになることを避けるため、タスクマネージャのオプション値としてmax_event_loopが追加されました。この回数を越えてもまだイベントキューにイベントが残っている場合、タスクマネージャはCharcoal_EventLoopCounterOverflowException例外をスローします。この例外が発生したらほとんどの場合はタスクのevent_filters設定値を適切に設定することで解消するでしょう。イベントの詳細なログはデバッグモード(Charcoal_Framework::run(true))にしてeventログの出力フラグをONにして確認することができます。

Pocket

Comments are closed.