Download List

Project Description

Middle class PHP Web framework which is composed of "Tasks" and "Events".It is designed to create reusable pllications. Because each components are using PHP5 interface, you can replace implementation objects very easily. So you can make various kinds of applications in a short time.

System Requirements

System requirement is not defined

Released at 2008-10-05 01:35
charcoalphp 0.9.0 (2 files Hide)

Release Notes

No Release Notes

Changelog


  -[core] Factoryクラスにユーザイベントを作成するメソッドcreateUserEvent()を追加しました。
  -[interface] ITaskインタフェースにガード条件を取得するgetGuardConditions()とイベントフィルタを取得するgetEventFilters()、および
    ポストアクションを取得するgetPostActions()メソッドを追加しました。
  -イベントディスパッチの方法が変わりました。最初にプロシージャのtasksエントリの順にhttp_requestシステムイベントが配信されます。
    このとき、タスク内のproccessEventメソッド内でユーザイベントを作成し、返り値として指定するとそのイベントがイベントキューに登録
    されます。タスクマネージャはイベントがキューにある間、登録されている各タスクにイベントを配信し続けようとします。タスク側では
    設定ファイルにevent_filtersを指定することで受け入れ可能なイベント名を指定することができ、guard_conditionsを指定することで
    他のタスクの状態によって処理の可否を指定できます。guard_conditionsの書式は以下の通りです。

    guard_conditions.(タスク名).(プロパティ名) = (型):(値)

     型: i => 整数 b => ブール値 s => 文字列値 (省略) => 文字列値

    また同様にタスク設定にpost_actions.(イベント名)を指定するとprocessEventの処理後に行うポストアクションを指定できます。指定可能
    な値は、remove_task/remove_event で、それぞれ実行中のタスクとイベントを削除します。
    デフォルトのタスクマネージャはイベントキューが空になるか、タスクリストが空になるまでイベントループを実行します。

     -イベントキューが空になる
     -タスクリストが空になる
     -イベントループ実行カウンタがプロファイル設定値TM_MAX_EVENT_LOOPで指定される最大イベントループ実行数を超えた場合(デフォルトは100回)
     -イベントループ実行時間がプロファイル設定値TM_MAX_EVENT_TIMEで指定される最大実行時間を超えた場合(デフォルトは10秒)

  -[logger] ログ文字列をコンソールに出力するConsoleLoggerを追加しました。