Download List

프로젝트 설명

プロジェクト管理はGitHubに移動しました。 https://github.com/ethna/ethna

System Requirements

System requirement is not defined

Released at 2008-10-11 00:00
Ethna beta 2.5.0preview2 (1 files Hide)

Release Notes

PEAR依存を排除するための基礎的な変更及び、プロジェクトのi18n化を楽にするためのコマンド実装。また、2.5.0 preview1 以降で発見された複数のバグが修正、APIの微調整。

Changelog

*** features

- PEAR依存を排除するための変更。依存を排除する理由は以下の通り。
1. PEAR が PEAR2 に移行するに伴い、APIが不安定になること
2. Ethna が依存している PEAR_Error は既に非推奨であること
3. 外部ライブラリにできうる限り依存しない方がユーザの便宜となる
4. PEAR に依存していると、PHPライセンスと抵触しているライセンスで配布できない
-- Console_Getopt の代替として、Ethna_Getopt.php を追加 (Public Domain)
-- 性質上依存せざるを得ない以下のファイルを除き、Console_Getopt への依存を排除
--- ETHNA_BASE/bin/ethna_make_package.php
--- ETHNA_BASE/class/Ethna_PearWrapper.php
-- [Breaking B.C] Ethna から PEAR_Error まわりの依存を排除。これに伴い、Ethnaクラス が持っていた PEARコアコンポーネンツ の機能は使えなくなっている。
--- Ethnaクラス に PEAR ライクなエラーチェックメソッドを追加し、それに伴う変更
--- Ethna_Error で PEAR を呼び出していた部分を修正し、PEARに任せていたメンバ設定等を最実装
--- PEAR.php で定義されていた OS_WINDOWS 定数の代替として、 ETHNA_OS_WINDOWS 定数を定義した
これは PEAR が、OS_WINDOWS 定数が再定義されているかをチェックしていないため
- 国際化メッセージの生成支援機構として、i18n コマンドを実装
-- gettext, Ethna組み込みのメッセージカタログに対応
-- ethna i18n [-b|--basedir=dir] [-l|--locale] [-g|--gettext] [extdir1] [extdir2] ...
-- メッセージファイルが存在する場合は、Ethna 組み込みのメッセージカタログの場合は、既存の翻訳
を自動的にマージする。gettext の場合は、新たにファイルを生成し、msgmerge プログラムを使って
翻訳を既存のものとマージするように促す
- 配布する Smarty を 2.6.20 に追随
- [Breaking B.C] 互換性を保つために残されていた内部メソッドを削除
-- Ethna_ViewClass#_getTemplateEngine
- Ethna_ActionClass のメンバに $logger(Ethna_Logger) を追加
- Ethna_ViewClass のメンバに $ctl(Ethna_Controller) を追加
-- i18n 周りの情報を容易に変更させるようにするため
- Ethna_Controller#_setLanguage メソッドを、backend, Session, actionform の初期化が終わってから呼ぶようにした。
- 2.5.0 preview1 で追加した Ethna_ViewClass#_setLanguage メソッドを削除
-- アクション実行後のロケール変更はあまり意味がないため :(

*** bug fix

- テストディレクトリの変更のタイミングによっては、Ethna_UnitTestMangerがWARNINGを出す問題を回避 (thanks: maru_cc)
- selected=\"selected\" の修正漏れを修正 (thanks:maru_cc)
- [Breaking B.C] Ethna_Plugin_CacheManager_Memcache の接続デフォルトが persistent になっていたのを通常接続に変更
-- [appid]/etc/[appid]-ini.php の memcache_use_connect 設定を memcache_use_pconnect に変更
- プラグインのクラス名にアンダーバーを許していなかったが、PHPのクラス名的に正当な文字であればOKにするように変更(thanks:maru_cc)
- Ethna_I18N.php で、メッセージをパースする際に空行を見逃していたバグを修正
- Ethna_MailSender にてメールを送信する際、テンプレートが存在しなかった場合にも空メールを送ってしまうバグを修正 (thanks: ryosuke@sekido.info -> [ethna-users:1053])
- smarty_modifier_checkbox が仕様に反する動作をしていたバグを修正し、仕様を厳密化した(thanks: maru_cc)
-- checked が付くのはスカラーで、0 と空文字列、null, false 以外の場合とする
- Ethna_ActionError#_getActionForm で、E_NOTICE が出る問題を回避