Moony 0.13.0リリース

Moony 0.13.0をリリースしました。ダウンロードはSourceForge.jpからどうぞ。

変更点は以下の通り:

  • ルーティングルールの変更
    • PATH_INFOが/foo/barの場合、以下のようにルーティングされるように
      1. アクションクラス: Foo_Bar
      2. アクションクラス: Foo
      3. テンプレート表示: foo/bar.phpSmarty利用時はfoo/bar.tpl
      4. HTTPのステータスで404を送出
    • メソッド廃止: Moony::setDefaultAction()
    • メソッド廃止: Moony::setDefaultRedirect()
  • セッションが開始するタイミングを変更
    • アクションクラスのprepareメソッドが実行された後で開始するように
  • 出力バッファリングのハンドラを登録できるように変更
    • メソッド追加: Moony::setObHandler()
    • 出力バッファリングの範囲をアクションクラスの実行中のみに変更
  • セッションのオプションを起動時に指定できるように
    • メソッド追加: Moony::setSessionOptions()
    • name、id、save_path、cache_expire、cache_limiterの指定が可能に
  • アクションクラスの機能変更
    • Moony_Actionクラスでexecuteメソッドを定義
      • 初期状態ではテンプレート処理結果出力処理のみ
      • 各アクションクラスでオーバーライド、実装を追加すること
      • メソッド追加: Moony_Action::execute()
    • テンプレートを指定せずに出力できるように
      • アクション名が「Foo_Bar」の場合、テンプレート「foo/bar.phpSmarty使用時はfoo/bar.tpl)」が出力される
      • メソッド変更: Moony_Action::fetch()
      • メソッド変更: Moony_Action::render()
      • メソッド変更: Moony_Action::renderOnError()
    • リダイレクト時にHTTPステータスの指定が可能に
      • メソッド変更: Moony_Action::redirect()
      • メソッド変更: Moony_Action::redirectOnError()
    • アクションへのリダイレクトが可能に
      • メソッド追加: Moony_Action::redirectAction()
      • メソッド追加: Moony_Action::redirectActionOnError()
    • JSON形式での出力が可能に
    • HTTPステータス送出機能の追加
      • メソッド追加: Moony_Action::sendStatus()
    • Moonyの動作設定を一部変更できるように
      • メソッド追加: Moony_Action::setTemplateDir()
      • メソッド追加: Moony_Action::setOutputEncoding()
      • メソッド追加: Moony_Action::setObHandler()
      • メソッド追加: Moony_Action::setSessionOptions()
      • メソッド追加: Moony_Action::setSessionAutoStart()
    • ファイル出力機能の廃止
      • メソッド廃止: Moony_Action::renderFile()
    • トランザクショントークン関連機能の廃止
      • メソッド廃止: Moony_Action::checkToken()
      • ヘルパー関数廃止: moony_token()
  • 簡単なキャッシュ機能の追加
    • ファイルベースの簡易キャッシュ機能を提供
    • クラス追加: Moony_Cache
    • メソッド追加: Moony::setCacheDir()
    • 変数追加: Moony_Action::cache
  • テンプレートエンジンとしてSmartyを使用できるように
    • PHPテンプレートの拡張子はphpSmartyテンプレートの拡張子はtplとする
    • クラス追加: Moony_Smarty
      • Smartyのサブクラスとして実装
    • メソッド追加: Moony::useSmarty()
    • メソッド変更: Moony_Action::fetch()
    • 変数追加: Moony_Action::smarty
    • moonyコマンドに「-s」オプションを追加
      • テンプレートファイルをSmarty用に作成
      • 「-s -e」でエントリポイントをSmarty用に作成
  • PATH_INFOでアクションに渡されたパラメータの取得方法変更
    • Moony_Requestから取得するように変更
    • メソッド追加: Moony_Request::getActionParam()
    • 変数廃止: Moony_Action::args
  • moonyコマンドの機能変更
    • Smartyを使用するオプション(-s)を追加
    • バージョン表示オプション(-v)を追加
    • 強制上書きオプション(-f)を廃止
    • クラス名変更: Moony_Generator → Moony_Command
  • グローバル変数を使わないように変更
    • クラス追加: Moony_Registry
  • ヘルパー関数の定義場所を変更
    • Moony/Action.php内に記述するように変更
    • ファイル廃止: Moony/Helpers.php
  • PATH_INFOの取得に関してCGI版のPHPに対応
    • $_SERVER['ORIG_PATH_INFO']が存在すれば使用するように
  • その他
    • 変数廃止: Moony_Action::moony
    • メソッド名変更: Moony_Request::getEnv() → getServer()
    • メソッド名変更: Moony_Request::isSsl() → isSecure()
    • メソッド追加: Moony_Request::getCookie()
    • メソッド追加: Moony_Request::getHostUrl()
    • メソッド追加: Moony_Request::setActionPath()
    • メソッド追加: Moony_Request::getActionPath()
    • メソッド追加: Moony_Request::getActionBase()
    • メソッド廃止: Moony_Request::isHead()
    • メソッド名変更: Moony_Session::clean() → clear()
    • メソッド追加: Moony_Session::close()
    • メソッド追加: Moony_Session::isStarted()
    • メソッド追加: Moony_Session::setName()
    • メソッド追加: Moony_Session::setId()
    • メソッド追加: Moony_Session::setSavePath()
    • メソッド追加: Moony_Session::setSaveHandler()
    • メソッド追加: Moony_Session::setCacheExpire()
    • メソッド追加: Moony_Session::setCacheLimiter()
    • メソッド追加: Moony_Session::setCookieLifetime()
    • メソッド追加: Moony_Session::setCookiePath()
    • メソッド追加: Moony_Session::setCookieDomain()
    • メソッド追加: Moony_Session::setCookieSecure()
    • メソッド追加: Moony_Validator::validateCount()