特徴
- 日本製フレームワーク(マニュアル等が日本語)
- 流儀を憶えるのが簡単
- 継承が不要
- ファイルをたくさん作らなくて良い
- プラグインアーキテクチャを採用せず基本機能での使いやすさを重視。TL以外のモジュールの使い方を覚える必要がない。
- 結果、TLのみでウェブアプリケーションを構築可能
- 外部モジュールの利用を極力抑えているため、I/Fやドキュメントがまとまっている。
- 下位互換性重視(前バージョンは6年間に渡り下位互換性をほぼ確保)
- 依存するモジュールが少ないため、依存モジュールのバージョンアップによる影響が少ない(仕様変更でうまく動作しなくなる等)
- デバッグ支援機能
- エラー発生時のスタックトレース・ローカル変数・ソースコード表示機能
- CGI時はポップアップウィンドウでのデバッグ支援
- リクエスト・レスポンス内容の表示
- DBアクセス内容(実行SQL・応答データ)・SQL処理時間・実行計画の表示
- ログの表示
- テンプレート操作履歴
- 変数ウォッチ機能
- エラー発生時のメール通知機能(運用時向け)
- セッション機能(DB必須)
- フォームの利用の支援機能
- デザイナーでも容易に習得できる簡易的構造のテンプレートエンジン
- HTMLフォーム状態の読み出し・書き換え
- HIDDENフォームの追加機能
- CSRF対策支援機能
- SQLベースのDBアクセス・DBIの拡張ラッパ
- 実行クエリの処理時間・実行計画・結果を記録するデバッグモード
- 実行ソースコード位置埋め込み
- 配列を複数プレースホルダに展開する拡張プレースホルダ
- InnoDBトランザクション未完了やMyISAMロックの未解放の検出
- MySQLレプリケーションへの対応支援機能
- 日本語文字コードへの自動対応
- 携帯絵文字への自動対応。DoCoMo、AU、Softbankの絵文字を相互変換可能。
- 日本語メールへの対応
- FastCGIへの対応
- memcacheの利用の支援機能
- 設定ファイルの柔軟な切り替え(サーバ・リモートIP・呼び出し元毎)
などの特徴があります。
例えば、Formに対して入力された情報を再びFromに表示する際は以下のように1行で実現出来ます。
$TL->newTemplate('test.html')->setForm($CGI);
また、TLを利用することによりプログラムの記述の仕方にある程度の法則が生まれるため、複数メンバでの共同作業が行いやすくなります。
予定
- DB機能の拡張
- エラーメッセージの日本語併記
- 分かりやすいエラーメッセージ
- デバッグ機能の強化(トレース部分)