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.
・ディスパッチャ、モジュールグラフは廃止され、代わりにタスクマネージャ、タスクが導入されました。
2008-07-02 ver.0.5.0
◆仕様変更/機能追加
【全体】
−クラス名のcharcoalプリフィックスをすべて削除
【コア】
−CHARCOAL_RUNMODEでランモード(下記参照)を指定するようにしました。フロントコントローラ(index.php)の先頭でdefineしてください。
(未定義の場合、UnexpectedRunModeExceptionがスローされます)
−http=Webアプリケーション
−最初にロードされるプロファイルのファイル名は「ホスト名.global.ini」
−shell=シェルアプリケーション
−最初にロードされるプロファイルのファイル名は「shell.global.ini」(固定)
−XxxFactoryクラスをFactoryクラスにまとめました。アプリに影響はありません。
−ConfigLoader#loadConfigで先頭がdefault(default.オブジェクト名.yml)のデフォルト定義ファイルを読まないようにしました。混乱を避け
るためと、パフォーマンス向上のためです。
−ディスパッチャ、モジュールグラフは廃止され、代わりにタスクマネージャ、タスクが導入されました。
−パフォーマンス上ネックになっていたログ出力箇所をいくつか削除または移動しました。
−FrameworkClassLoaderを最適化しました。
−その他、いくつかパフォーマンスチューニングのためのリファクタリングを行いました。
◆バグ修正
【全体】
−php.iniのshort_open_tagがtrueだとPHPとして解釈されないソースを修正(ショートタグで記述しているスクリプトがあった)しました。
◆今後の予定
−ProcedureContextはタスク毎のContextとして分離される予定です。
−現在Contextからセッションを取得できますが、タスクがスコープ(sessionスコープ)をサポートすれば不要になりますので削除します。
−テンプレートにロジックを書かなければならないケースは、CSML(Charcoal Screen Markup Language)で解決する予定です。CSMLコンパイラと
標準のテンプレートエンジンが連携することでテンプレートファイルがより奇麗に記述できます。
−タスクの処理を共通化するため、タスクからモジュールを呼び出せるようにします。
−WebAPIや外部URL読み込み時にブロックされる時間を短縮するための並行処理をサポートします。
−AJAXに対応します。
−フォームバリデータ、DBバリデータを実装します。