Changeset 28384
- Timestamp:
- 03/04/10 21:19:54 (3 years ago)
- Files:
-
- doc/branches/1.4/tutorial/ja/deprecated.markdown (modified) (10 diffs)
- doc/branches/1.4/tutorial/ja/upgrade.markdown (modified) (2 diffs)
- doc/branches/1.4/tutorial/ja/whats-new.markdown (modified) (55 diffs)
- doc/branches/1.4/tutorial/ja/which-version.markdown (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
doc/branches/1.4/tutorial/ja/deprecated.markdown
r28345 r28384 1 1 1.3 での廃止予定および削除される機能 2 =================================== 2 ==================================== 3 3 4 4 このドキュメントでは symfony 1.3 で廃止予定もしくは削除されるすべての設定、クラス、メソッド、関数とタスクの一覧を示します。 … … 9 9 次のコアプラグインは symfony 1.3 で廃止予定になり symfony 1.4 で削除されます: 10 10 11 * `sfCompat10Plugin`: このプラグインが廃止予定になることで、動くためにこのプラグインに依存するほかのすべての要素も廃止予定になります (1.0 のアドミンジェネレーターとフォームシステム)。これらのなかには `lib/plugins/sfPropelPlugin/data/generator/sfPropelAdmin` に設置される 1.0 のアドミンジェネレーターのデフォルトテーマも 入っています。11 * `sfCompat10Plugin`: このプラグインが廃止予定になることで、動くためにこのプラグインに依存するほかのすべての要素も廃止予定になります (1.0 のアドミンジェネレーターとフォームシステム)。これらのなかには `lib/plugins/sfPropelPlugin/data/generator/sfPropelAdmin` に設置される 1.0 のアドミンジェネレーターのデフォルトテーマも含まれています。 12 12 13 13 * `sfProtoculousPlugin`: このプラグインによって提供されるヘルパーは控えめな JavaScript をサポートしないので、今後は使うべきではありません。 … … 18 18 次のメソッドと関数は symfony 1.3 もしくはそれ以前で廃止予定になり、symfony 1.4 で削除されます: 19 19 20 * `sfToolkit::getTmpDir()`: このメソッド のすべての呼び出しは`sys_get_temp_dir()` に置き換わります。20 * `sfToolkit::getTmpDir()`: このメソッド呼び出しはすべて `sys_get_temp_dir()` に置き換わります。 21 21 22 22 * `sfToolkit::removeArrayValueForPath()`、 23 23 `sfToolkit::hasArrayValueForPath()`、と `getArrayValueForPathByRef()` 24 24 25 * `sfValidatorBase::setInvalidMessage()`: 新しい `sfValidatorBase::setDefaultMessage()` メソッド の呼び出しに置き換わります。25 * `sfValidatorBase::setInvalidMessage()`: 新しい `sfValidatorBase::setDefaultMessage()` メソッド呼び出しに置き換わります。 26 26 27 * `sfValidatorBase::setRequiredMessage()`: 新しい `sfValidatorBase::setDefaultMessage()` メソッド の呼び出しに置き換わります。27 * `sfValidatorBase::setRequiredMessage()`: 新しい `sfValidatorBase::setDefaultMessage()` メソッド呼び出しに置き換わります。 28 28 29 29 * `sfTesterResponse::contains()`: より強力な `matches()` メソッドを使うことができます … … 31 31 * `sfTestFunctionalBase` の次のメソッド: `isRedirected()`、`isStatusCode()`、`responseContains()`、 32 32 `isRequestParameter()`、`isResponseHeader()`、 33 `isUserCulture()`、`isRequestFormat()` と `checkResponseElement()`: これらのメソッドは 1.2 以降で廃止予定になり、テスタークラスに置き換わりま した。33 `isUserCulture()`、`isRequestFormat()` と `checkResponseElement()`: これらのメソッドは 1.2 以降で廃止予定になり、テスタークラスに置き換わります。 34 34 35 * `sfTestFunctional` の次のメソッド: `isCached()`、 `isUriCached()`: これらのメソッドは 1.2 以降で廃止予定になり、テスタークラスに置き換わりま した。35 * `sfTestFunctional` の次のメソッド: `isCached()`、 `isUriCached()`: これらのメソッドは 1.2 以降で廃止予定になり、テスタークラスに置き換わります。 36 36 37 * `sfFilesystem::sh()`: このメソッド のすべての呼び出しを新しい `sfFilesystem::execute()` メソッドの呼び出しに置き換わります。このメソッドの戻り値は `stdout` 出力と `stderr` 出力で構成される配列であることに注意してください。37 * `sfFilesystem::sh()`: このメソッド呼び出しはすべて新しい `sfFilesystem::execute()` メソッド呼び出しに置き換わります。このメソッドの戻り値は `stdout` 出力と `stderr` 出力で構成される配列であることに注意してください。 38 38 39 39 * `sfAction::getDefaultView()`、`sfAction::handleError()`、 … … 44 44 * `sfApplicationConfiguration::loadPluginConfig()`: 代わりに `initializePlugins()` を使います。 45 45 46 * `sfLoader::getHelperDirs()` と `sfLoader::loadHelpers()`: `sfApplicationConfiguration` オブジェクトから同じメソッドを使ってください。`sfLoader` クラスのすべてのメソッドは廃止予定になったので、 symfony 1.4 で `sfLoader` は削除されます。46 * `sfLoader::getHelperDirs()` と `sfLoader::loadHelpers()`: `sfApplicationConfiguration` オブジェクトから同じメソッドを使ってください。`sfLoader` クラスのすべてのメソッドは廃止予定になったので、`sfLoader` は symfony 1.4 で削除されます。 47 47 48 48 * `sfController::sendEmail()`: 代わりに symfony 1.3 の新しいメーラー機能を使います。 … … 66 66 次のメソッドと関数は symfony 1.3 で削除されます: 67 67 68 * `sfApplicationConfiguration::checkSymfonyVersion()`: 説明は下記 を参照してください (`check_symfony_version` 設定)。68 * `sfApplicationConfiguration::checkSymfonyVersion()`: 説明は下記のセクションを参照してください (`check_symfony_version` 設定)。 69 69 70 70 クラス … … 109 109 次のヘルパーグループは symfony 1.3 で廃止予定になり symfony 1.4 で削除されます: 110 110 111 * `sfCompat10Plugin` によって提供される 1.0 フォームシステムに関連するすべてのヘルパー: `DateForm`、`Form`、`ObjectAdmin`、`Object` と `Validation`111 * `sfCompat10Plugin` によって提供される 1.0 のフォームシステムに関連するすべてのヘルパー: `DateForm`、`Form`、`ObjectAdmin`、`Object` と `Validation` 112 112 113 `form_tag()` ヘルパー は `Form` ヘルパーグループから `Url` ヘルパーグループに移動したので、 symfony 1.4 でも利用可能です。113 `form_tag()` ヘルパーの所属は `Form` ヘルパーグループから `Url` ヘルパーグループに移動したので、 symfony 1.4 でも利用可能です。 114 114 115 PHP のインクルードパスからヘルパーをロードする機能は 1.3 で廃止予定になり 1.4 で削除されま した。ヘルパーはプロジェクト、アプリケーションもしくはモジュールの `lib/helper/` ディレクトリのどれか1つに設置しなければなりません。115 PHP のインクルードパスからヘルパーをロードする機能は 1.3 で廃止予定になり 1.4 で削除されます。ヘルパーはプロジェクト、アプリケーションもしくはモジュールの `lib/helper/` ディレクトリのどれか1つに設置しなければなりません。 116 116 117 117 設定 118 118 ---- 119 119 120 次の設定 (`settings.yml` 設定で管理されます) は symfony 1.3 から削除されま した:120 次の設定 (`settings.yml` 設定で管理されます) は symfony 1.3 から削除されます: 121 121 122 * `check_symfony_version`: この設定は symfony のバージョンが変更される場合にキャッシュの自動クリーニングを可能にするために数年前に導入されました。これは 主にすべての顧客のあいだで同じバージョンの symfony が共有される共用ホスティングのコンフィギュレーションに便利でした。symfony 1.1 以降ではバッドプラクティスですので (プロジェクトごとに symfony のバージョンを組み込む必要があるため)、設定は無意味です。さらに、この設定が `on` にセットされている場合、ファイルのコンテンツを得る必要があるときに、それぞれのリクエストに小さなオーバーヘッドが追加されてしまいます。122 * `check_symfony_version`: この設定は symfony のバージョンが変更される場合にキャッシュの自動クリーニングを可能にするために数年前に導入されました。これはおもにすべての顧客のあいだで同じバージョンの symfony が共有される共用ホスティングのコンフィギュレーションに便利でした。symfony 1.1 以降ではバッドプラクティスですので (プロジェクトごとに symfony のバージョンを組み込む必要があるため)、設定は無意味です。さらに、この設定が `on` にセットされている場合、ファイルのコンテンツを得る必要があるときに、それぞれのリクエストに小さなオーバーヘッドが追加されてしまいます。 123 123 124 * `max_forwards`: この設定は symfony が例外を投げる前に許容される転送の最大回数をコントロールします。これを設定可能にする値はありません。5 回よりも多くの転送が必要な場合、問題の認識とパフォーマンスの両方で問題があります。124 * `max_forwards`: この設定は symfony が例外を投げる前に許容される転送の最大回数をコントロールします。これを設定可能にする値はありません。5回よりも多くの転送が必要な場合、問題の認識とパフォーマンスの両方で問題があります。 125 125 126 * `sf_lazy_cache_key`: symfony 1.2.6 で大きなパフォーマンス改善のために導入され、この設定はビューキャッシュのために遅延キャッシュキー ジェネレーションを有効にすることを許可しました。コア開発者は遅延がベストなアイデアと考える一方で、なかにはアクション自身がキャッシュ可能ではないときでも呼び出される `sfViewCacheManager::isCacheable()` に頼るひともいました。symfony 1.3 に関しては、ふるまいは `sf_lazy_cache_key` が `true` にセットされる場合と同じになります。126 * `sf_lazy_cache_key`: symfony 1.2.6 で大きなパフォーマンス改善のために導入され、この設定はビューキャッシュのために遅延キャッシュキー生成を有効にすることを許可しました。コア開発者は遅延がベストなアイデアと考える一方で、なかにはアクション自身がキャッシュ可能ではないときでも呼び出される `sfViewCacheManager::isCacheable()` に頼るひともいました。symfony 1.3 に関して、ふるまいは `sf_lazy_cache_key` が `true` にセットされる場合と同じになります。 127 127 128 * `strip_comments`: `strip_comments` は PHP 5.0.x のトークナイザーのバグが原因のコメント のストリッピング機能を無効にできるように導入されました。Tokenizer エクステンションが PHP によってコンパイルされていなかったとき、メモリの大量消費を避けるためにも使われました。最初の問題は PHP の最小バージョンが 5.2 になり無関係になっており2番目の問題はコメントのストリッピング機能をシミュレートした正規表現を削除することですでに修正されています。128 * `strip_comments`: `strip_comments` は PHP 5.0.x のトークナイザーのバグが原因のコメント除外機能を無効にできるように導入されました。Tokenizer エクステンションが PHP によってコンパイルされていなかったとき、メモリの大量消費を避けるためにも使われていました。最初の問題は PHP の最小バージョンが 5.2 になり無関係になっており2番目の問題はコメント除外機能をシミュレートした正規表現を削除することですでに修正されています。 129 129 130 130 * `lazy_routes_deserialize`: このオプションはもう必要ありません。 … … 137 137 `validation_error_class`、`validation_error_id_prefix`: これらの設定は Validation ヘルパーグループによって使われ、symfony 1.3 で廃止予定です。 138 138 139 * `is_internal` (`module.yml`): `is_internal` フラグはブラウザーからアクションが呼び出されるのを防ぐために使われました。これは symfony 1.0 でメール送信を保護するために追加されました。メールのサポート はこのトリックを必要としなくなったので、このフラグは削除され symfony コアではチェックされません。139 * `is_internal` (`module.yml`): `is_internal` フラグはブラウザーからアクションが呼び出されるのを防ぐために使われました。これは symfony 1.0 でメール送信を保護するために追加されました。メールのサポートにこのトリックが必要なくなったので、このフラグは削除され symfony コアではチェックされません。 140 140 141 141 タスク 142 142 ------ 143 143 144 次のタスク は symfony 1.3 で削除されました:144 次のタスクが symfony 1.3 で削除されます: 145 145 146 146 * `project:freeze` と `project:unfreeze`: これらのタスクはプロジェクトによって使われる symfony のバージョンをプロジェクト自身の内部に組み込むために使われました。これらはもはや必要ありません。長期間に渡って symfony をプロジェクトに組み込むのがベストプラクティスになったからです。さらに、あるバージョンの symfony を別のバージョンに切り替える作業は本当に単純で必要なのは `ProjectConfiguration` クラスへのパスを変更することだけです。symfony を手作業で組み込むやり方もとても単純で symfony のディレクトリ全体をプロジェクトのどこかにコピーすることだけ必要です (`lib/vendor/symfony/` が推奨されます)。 … … 168 168 * `sfParameterHolder::get()`、`sfParameterHolder::has()`、 169 169 `sfParameterHolder::remove()`、`sfNamespacedParameterHolder::get()`、 170 `sfNamespacedParameterHolder::has()` と `sfNamespacedParameterHolder::remove()` メソッド は配列表記 (`[]`) をサポートし廃止予定でsymfony 1.4 では利用できません (パフォーマンスの向上)。170 `sfNamespacedParameterHolder::has()` と `sfNamespacedParameterHolder::remove()` メソッドの配列表記 (`[]`) のサポートは廃止予定になり symfony 1.4 では利用できません (パフォーマンスの向上)。 171 171 172 172 symfony CLI はグローバルな `--dry-run` オプションを受けとることはありません。このオプションは symfony の組み込みタスクによって使われていなかったからです。タスクの 1つがこのオプションに依存する場合、これをタスククラスのローカルオプションとして追加できます。 … … 174 174 1.0 のアドミンジェネレーターの Propel テンプレートと 1.0 の CRUD は symfony 1.4 で削除されます (`plugins/sfPropelPlugin/data/generator/sfPropelAdmin/`)。 175 175 176 「Dynarch Calendar」 (`data/web/calendar/` で見つかります) は symfony 1.4 は削除されます。これは symfony 1.4 で削除される Form ヘルパーグループだけ しか使っていたからです。176 「Dynarch Calendar」 (`data/web/calendar/` で見つかります) は symfony 1.4 は削除されます。これは symfony 1.4 で削除される Form ヘルパーグループだけにしか使われていなかったからです。 177 177 178 178 symfony 1.3 に関して、サイトが利用不可能なときに表示されるページは `%SF_APP_CONFIG_DIR%/` と `%SF_CONFIG_DIR%/` ディレクトリでのみ探されます。まだこれを `%SF_WEB_DIR%/errors/` に保存している場合、symfony 1.4 へのマイグレーションを行う前に削除しなければなりません。 179 179 180 プロジェクトのルートで `doc/` ディレクトリ は生成されなくなりました。これは symfony 自身でも使われていないからです。そして関連する `sf_doc_dir` も削除されました。180 プロジェクトのルートで `doc/` ディレクトリが生成されなくなりました。これは symfony 自身でも使われていないからです。そして関連する `sf_doc_dir` も削除されました。 181 181 182 182 `sfDoctrinePlugin_doctrine_lib_path` 設定は、以前 Doctrine のカスタム lib ディレクトリを指定するのに使われていましたが、1.3 で廃止予定になり 1.4 で削除されます。代わりに `sf_doctrine_dir` 設定を使ってください。 183 183 184 symfony のすべての `Base*` クラスの可視性は `abstract` になっていません。184 symfony のすべての `Base*` クラスの可視性は `abstract` ではありません。 doc/branches/1.4/tutorial/ja/upgrade.markdown
r28343 r28384 119 119 * すでによりすぐれた、シンプルで、より柔軟な解決方法があります (`include_stylesheets()` と `include_javascripts()` ヘルパー)。 120 120 121 * フィルターが簡単に無効にできるとしても、最初に存在を知らなければならず "背後"のマジックがはたらいているのでこれは簡単なタスクではありません。121 * フィルターが簡単に無効にできるとしても、最初に存在を知らなければならず「背後」のマジックがはたらいているのでこれは簡単なタスクではありません。 122 122 123 123 * ヘルパーを使えばいつどこでアセットがレイアウトにインクルードされるのかよりきめ細かくコントロールできます (たとえば `head` タグのスタイルシート、`body` タグが終わる直前の JavaScript) … … 209 209 以前のコンフィギュレーションでは、メールは送信されません。もちろん、これらはまだロギングされ、`mailer` テスターは機能テストでまだ動きます。 210 210 211 1 つのアドレスですべてのメールを受信したいのであれば `single_address` 配信戦略を使います (たとえば `dev` 環境):211 1つのアドレスですべてのメールを受信したいのであれば `single_address` 配信戦略を使います (たとえば `dev` 環境): 212 212 213 213 [yml] doc/branches/1.4/tutorial/ja/whats-new.markdown
r28343 r28384 19 19 $this->getMailer()->composeAndSend('from@example.com', 'to@example.com', 'Subject', 'Body'); 20 20 21 より柔軟性をもたせる必要があれば、`compose()` メソッドを使って後で送信することもできます。添付ファイルをメッセージに追加する方法は次の 通りです:21 より柔軟性をもたせる必要があれば、`compose()` メソッドを使って後で送信することもできます。添付ファイルをメッセージに追加する方法は次のとおりです: 22 22 23 23 [php] … … 62 62 * `sfWidgetFormI18nChoiceTimezone` 63 63 64 これらの最初の 3つは廃止予定の `sfWidgetFormI18nSelectLanguage`、`sfWidgetFormI18nSelectCurrency` と `sfWidgetFormI18nSelectCountry` ウィジェットの置き換えです。64 これらの最初の3つは廃止予定の `sfWidgetFormI18nSelectLanguage`、`sfWidgetFormI18nSelectCurrency` と `sfWidgetFormI18nSelectCountry` ウィジェットの置き換えです。 65 65 66 66 ### 流れるようなインターフェイス … … 87 87 `sfValidatorRegex` に新しい `must_match` オプションが用意されました。このオプションが `false` にセットされる場合、正規表現は渡すバリデーターにマッチしません。 88 88 89 `sfValidatorRegex` の `pattern` オプションは呼び出 すときに正規表現を返す `sfCallable` のインスタンスにしなければならなくなりました。89 `sfValidatorRegex` の `pattern` オプションは呼び出されるときに正規表現を返す `sfCallable` のインスタンスにしなければならなくなりました。 90 90 91 91 ### `sfValidatorUrl` … … 105 105 ### `sfValidatorSchemaCompare` 106 106 107 `sfValidatorSchemaCompare` クラスに 2つの新しいコンパレーターが用意されました:107 `sfValidatorSchemaCompare` クラスに2つの新しいコンパレーターが用意されました: 108 108 109 109 * `IDENTICAL` は `===` と同等です; … … 112 112 ### `sfValidatorChoice`、`sfValidator(Propel|Doctrine)Choice` 113 113 114 `sfValidatorChoice`、`sfValidatorPropelChoice` そして `sfValidatorDoctrineChoice` バリデーターには `multiple` オプションが `true` の場合のみ有効になる 2つの新しいオプションがあります:114 `sfValidatorChoice`、`sfValidatorPropelChoice` そして `sfValidatorDoctrineChoice` バリデーターには `multiple` オプションが `true` の場合のみ有効になる2つの新しいオプションがあります: 115 115 116 116 * `min` 選択する必要がある最小の数 … … 123 123 * `sfValidatorI18nChoiceTimezone` 124 124 125 ### 標準のエラーメッセージ126 127 次のように `sfForm::setDefaultMessage()` メソッドを使うことで グローバル領域で標準のエラーメッセージを定義できるようになりました:125 ### デフォルトのエラーメッセージ 126 127 次のように `sfForm::setDefaultMessage()` メソッドを使うことでデフォルトのエラーメッセージをグローバルに定義できるようになりました: 128 128 129 129 [php] 130 130 sfValidatorBase::setDefaultMessage('required', 'This field is required.'); 131 131 132 上記のコードはすべてのバリデーターのデフォルトメッセージである 'Required.' をオーバーライドします。 標準メッセージはバリデーターが作られる前に定義しておかなければならないことに注意してください (コンフィグレーションクラスがよい場所です)。132 上記のコードはすべてのバリデーターのデフォルトメッセージである 'Required.' をオーバーライドします。デフォルトメッセージはバリデーターが作られる前に定義しておかなければならないことにご注意ください (コンフィグレーションクラスがよい場所です)。 133 133 134 134 >**NOTE** … … 137 137 symfony がエラーを表示するとき、使われるエラーメッセージは次のように決定されます: 138 138 139 * symfony はバリデーターが作られたときに渡されたメッセージを探します (バリデーターのコンストラクターの第 2引数経由);139 * symfony はバリデーターが作られたときに渡されたメッセージを探します (バリデーターのコンストラクターの第2引数経由); 140 140 141 141 * 定義されていなければ、`setDefaultMessage()` メソッドで定義される初期メッセージを探します; 142 142 143 * もし、定義されていなければ、(メッセージが `addMessage()` メソッドで追加されているとき) バリデーター自身で定義され た初期メッセージへ戻ります。143 * もし、定義されていなければ、(メッセージが `addMessage()` メソッドで追加されているとき) バリデーター自身で定義される初期メッセージへ戻ります。 144 144 145 145 ### 流れるようなインターフェイス … … 156 156 ### `sfValidatorFile` 157 157 158 `php.ini` で `file_uploads` が無効な場合 `sfValidatorFile` のインスタンスを作 成するときに例外が投げられます。158 `php.ini` で `file_uploads` が無効な場合 `sfValidatorFile` のインスタンスを作るときに例外が投げられます。 159 159 160 160 フォーム … … 163 163 ### `sfForm::useFields()` 164 164 165 新しい `sfForm::useFields()` メソッドはフォームから引数として提供されるもの以外、隠しフィールドではないフィールドすべてを削除します。 状況によって不要なフィールドの割り当てを解除する代わりにフォームで維持したいフィールドを明示的に指示するのが簡単になります。たとえば、新しいフィールドを基底フォームに追加するとき、これらは明示的に追加されるまでフォームに自動表示されなくなります(モデルフォームで新しいカラムを関連テーブルに追加する場合を考えてください)。165 新しい `sfForm::useFields()` メソッドはフォームから引数として提供されるもの以外、隠しフィールドではないフィールドすべてを削除します。ときには不要なフィールドの割り当てを解除する代わりにフォームで維持したいフィールドを明示的に指示するのが簡単になります。たとえば、新しいフィールドを基底フォームに追加するとき、これらは明示的に追加されるまでフォームに自動表示されることはありません (モデルフォームで新しいカラムを関連テーブルに追加する場合を考えてください)。 166 166 167 167 [php] … … 174 174 } 175 175 176 デフォルトでは、フィールドの配列はフィールドの順序を変更するのにも使われます。自動的な並べ替えを無効にするには、`useFields()` に 2番目の引数として `false` を 渡します。176 デフォルトでは、フィールドの配列はフィールドの順序を変更するのにも使われます。自動的な並べ替えを無効にするには、`useFields()` に2番目の引数として `false` を 渡します。 177 177 178 178 ### `sfForm::getEmbeddedForm($name)` … … 182 182 ### `sfForm::renderHiddenFields()` 183 183 184 `->renderHiddenFields()` メソッドは組み込みフォームから 隠しフィールドをレンダリングします。再帰処理を無効にする引数が追加されました。これはフォーマッターを使って組み込みフォームをレンダリングする場合に便利です。184 `->renderHiddenFields()` メソッドは組み込みフォームからの隠しフィールドをレンダリングします。再帰処理を無効にする引数が追加されました。これはフォーマッターを使って組み込みフォームをレンダリングする場合に便利です。 185 185 186 186 [php] … … 188 188 echo $form->renderHiddenFields(); 189 189 190 // 再帰 なしで隠しフィールドをレンダリングする190 // 再帰処理なしで隠しフィールドをレンダリングする 191 191 echo $form->renderHiddenFields(false); 192 192 193 193 ### `sfFormSymfony` 194 194 195 新しい `sfFormSymfony` クラスはイベントディスパッチャーを symfony フォームに導入します。`self::$dispatcher` を通してフォームクラス内部のディスパッチャーにアクセスできます。次のフォームイベント はsymfony によって通知されます:195 新しい `sfFormSymfony` クラスはイベントディスパッチャーを symfony フォームに導入します。`self::$dispatcher` を通してフォームクラス内部のディスパッチャーにアクセスできます。次のフォームイベントが symfony によって通知されます: 196 196 197 197 * `form.post_configure`: このイベントはフォームが設定された後で通知される 198 198 * `form.filter_values`: このイベントは、マージされ汚染されたパラメーターと、バインドする直前のファイルの配列をフィルタリングする 199 199 * `form.validation_error`: フォームバリデーションが通らないときこのイベントが通知される 200 * `form.method_not_found`: 不明なメソッドが呼び出されるときにこのイベントが通知される200 * `form.method_not_found`: 身元不明のメソッドが呼び出されるときにこのイベントが通知される 201 201 202 202 203 203 ### `BaseForm` 204 204 205 Form コンポーネントを拡張するもしくはプロジェクト固有の機能を追加するために使うこと ができる `BaseForm` クラスが symfony 1.3/1.4 のすべての新しいプロジェクトに入りました。`sfDoctrinePlugin` と `sfPropelPlugin` によって生成されるフォームはこのクラスを自動的に継承します。追加のフォームクラスを作るのであれば `sfForm` よりも `BaseForm` を継承すべきです。205 Form コンポーネントを拡張するもしくはプロジェクト固有の機能を追加するために使うことのできる `BaseForm` クラスが symfony 1.3/1.4 のすべての新しいプロジェクトに入ります。`sfDoctrinePlugin` と `sfPropelPlugin` によって生成されるフォームはこのクラスを自動的に継承します。追加のフォームクラスを作るのであれば `sfForm` ではなく `BaseForm` を継承させるべきです。 206 206 207 207 ### `sfForm::doBind()` … … 222 222 $this->disableLocalCSRFProtection(); 223 223 224 `disableLocalCSRFProtection()` を呼び出すことによって、フォームインスタンスを作るときに CSRF 対策の秘密の文字列を渡し たとしても CSRF 防止機能は無効になります。224 `disableLocalCSRFProtection()` を呼び出すことによって、フォームインスタンスを作るときに CSRF 対策の秘密の文字列を渡していたとしても CSRF 防止機能は無効になります。 225 225 226 226 ### 流れるようなインターフェイス … … 248 248 $ php symfony test:all --only-failed 249 249 250 どのように動くのかを説明します: まず最初に、すべてのテストはいつも 通りに実行されます。しかし引き続きテストを実行しても、最後のテストで通らなかったものだけが実行されます。コードを修正したら、テストが通り次回以降の実行から除外されます。再びすべてのテストが通ったら、あなたは完全なテストスイートを実行し、繰り返すことができます。250 どのように動くのかを説明します: まず最初に、すべてのテストはいつもどおりに実行されます。しかし引き続きテストを実行しても、最後のテストで通らなかったものだけが実行されます。コードを修正したら、一部のテストが通り次回以降の実行から除外されます。再びすべてのテストが通ったら、あなたは完全なテストスイートを実行し、徹底的に繰り返すことができます。 251 251 252 252 ### 機能テスト … … 265 265 ### JUnit と互換性のある XML 出力 266 266 267 `--xml` オプションを 使うことでテストタスクは JUnit と互換性のある XML ファイルも出力できるようになりました:267 `--xml` オプションをつけることでテストタスクは JUnit と互換性のある XML ファイルも出力できるようになりました: 268 268 269 269 $ php symfony test:all --xml=log.xml … … 277 277 ### lime によるカラー出力 278 278 279 symfony 1.3/1.4 では、lime はカラー出力を正しく行うようになりました。これが意味することは、ほとんどの場合において `lime_test` の lime コンストラクターの第 2引数を省略できるということです:279 symfony 1.3/1.4 では、lime はカラー出力を正しく行うようになりました。これが意味することは、ほとんどの場合において `lime_test` の lime コンストラクターの第2引数を省略できるということです: 280 280 281 281 [php] … … 299 299 end(); 300 300 301 レスポンスに複数のフォームが含まれる場合は、どの DOM 部分をテストするかを ピンポイントで指定する CSS セレクターを提供するオプションがあります:301 レスポンスに複数のフォームが含まれる場合は、どの DOM 部分をテストするかをきめ細かく指定する CSS セレクターを提供するオプションがあります: 302 302 303 303 [php] … … 350 350 ------ 351 351 352 symfony の CLI はターミナルウィンドウの幅を検出することを試み、ラインのフォーマットを合わせようとします。検出できない場合 CLI は幅をデフォルトの 78カラムに合わせようとします。352 symfony の CLI はターミナルウィンドウの幅を検出することを試み、ラインのフォーマットを合わせようとします。検出できない場合 CLI は幅をデフォルトの78カラムに合わせようとします。 353 353 354 354 ### `sfTask::askAndValidate()` 355 355 356 ユーザーに質問をして得られ た入力内容をバリデートする `sfTask::askAndValidate()` メソッドが新しく用意されました:356 ユーザーに質問をして得られる入力内容をバリデートする `sfTask::askAndValidate()` メソッドが新しく用意されました: 357 357 358 358 [php] 359 359 $anwser = $this->askAndValidate('What is you email?', new sfValidatorEmail()); 360 360 361 このメソッドはオプションの配列を受けることもできます (より詳しい情報は API ドキュメントを参照 してください)。361 このメソッドはオプションの配列を受けることもできます (より詳しい情報は API ドキュメントを参照)。 362 362 363 363 ### `symfony:test` 364 364 365 ときに は、開発者は特定のプラットフォームで symfony が正しく動くのかをチェックするために symfony のテストスイートを実行する必要があります。従来は、symfony に附属している `prove.php` スクリプトを実行し確認しなければなりませんでした。symfony 1.3/1.4 では組み込みのタスク、コマンドラインから symfony のコアテストスイートを起動できる `symfony:test` タスクが用意され、ほかのタスクと同じように使うことができます:365 ときに開発者は特定のプラットフォームで symfony が正しく動くのかをチェックするために symfony のテストスイートを実行する必要があります。従来であれば、この確認作業を行うために symfony に附属する `prove.php` スクリプトの存在を知らなければなりませんでした。symfony 1.3/1.4 では組み込みのタスク、コマンドラインから symfony のコアテストスイートを起動できる `symfony:test` タスクが用意され、ほかのタスクと同じように使うことができます: 366 366 367 367 $ php symfony symfony:test … … 372 372 ### `project:deploy` 373 373 374 `project:deply` タスクは少し改良されました。リアルタイムでファイルの転送状況を表示するようになりました。ただし、`-t` オプションが渡されたときだけです。もしオプションが指定されていなければタスクは何も表示しません、もちろんエラー は除きます。エラーのときには、簡単に問題を認識できるように赤色の背景にエラー情報を出力します。374 `project:deply` タスクは少し改良されました。リアルタイムでファイルの転送状況を表示するようになりました。ただし、`-t` オプションが渡されたときだけです。もしオプションが指定されていなければタスクは何も表示しません、もちろんエラーの場合は除きます。エラーのときには、簡単に問題を認識できるように赤色の背景にエラー情報が出力されます。 375 375 376 376 ### `generate:project` … … 388 388 $ php /path/to/symfony generate:project foo --orm=none 389 389 390 新しい `--installer` オプションのおかげで新 しく生成されるプロジェクトをかなりカスタマイズできる PHP スクリプトを指定することができます。スクリプトはタスクで実行され、タスクのメソッドで使うことができます。次のようなより便利なメソッドがあります:390 新しい `--installer` オプションのおかげで新たに生成されるプロジェクトをかなりカスタマイズできる PHP スクリプトを指定することができます。スクリプトはタスクで実行され、タスクのメソッドで使うことができます。次のようなより便利なメソッドがあります: 391 391 `installDir()`、`runTask()`、`ask()`、 392 392 `askConfirmation()`、`askAndValidate()`、`reloadTasks()`、 … … 401 401 ### `sfFileSystem::execute()` 402 402 403 `sfFileSystem:: execute()` メソッドは `sfFileSystem::sh()` メソッドをより強力な機能に置き換えます。このメソッドは `stdout` と `stderr` 出力のリアルタイム処理のコールバックをとります。また両方の出力を配列として返すこともできます。`sfProjectDeployTask` クラスで使い方の例を見つけることができます。403 `sfFileSystem::sh()` メソッドはより強力な機能をもつ `sfFileSystem::execute()` メソッドに置き換わります。このメソッドは `stdout` と `stderr` 出力のリアルタイム処理のコールバックをとります。また両方の出力を配列として返すこともできます。使い方の例は `sfProjectDeployTask` クラスで見つけることができます。 404 404 405 405 ### `task.test.filter_test_files` 406 406 407 `test:*` タスクはこれらのタスクが実行される前に `task.test.filter_test_files` イベントを通過するようになりました。このイベントには `arguments` と `options` パラメーターが あります。407 `test:*` タスクはこれらのタスクが実行される前に `task.test.filter_test_files` イベントを通過するようになりました。このイベントには `arguments` と `options` パラメーターが用意されています。 408 408 409 409 ### `sfTask::run()` の強化 410 410 411 `sfTask:run()` に次のような引数とオプションの連想配列を渡 すことができるようになりました:411 `sfTask:run()` に次のような引数とオプションの連想配列を渡せるようになりました: 412 412 413 413 [php] … … 419 419 )); 420 420 421 これまでのバージョンでは、次のようにすればまだ動きます:421 以前のバージョンでは、次のように書けばまだ動きます: 422 422 423 423 [php] … … 436 436 $task->run(); 437 437 438 これまでのバージョンでは、次のようにすればまだ動きます:438 以前のバージョンでは、次のように書けばまだ動きます: 439 439 440 440 [php] … … 447 447 ### `project:disable` と `project:enable` 448 448 449 `project:disable` と `project:enable`タスクを使うことで、環境全体を無効、または有効に することができるようになりました:449 `project:disable` と `project:enable`タスクを使うことで、環境全体を無効、または有効にできるようになりました: 450 450 451 451 $ php symfony project:disable prod … … 464 464 ### `help` と `list` 465 465 466 `help` と `list` タスクは情報を XML 形式で表示 することができるようになりました:466 `help` と `list` タスクは情報を XML 形式で表示できるようになりました: 467 467 468 468 $ php symfony list --xml … … 475 475 ### `project:optimize` 476 476 477 このタスクを実行すればアプリケーションのテンプレートファイルの位置をキャッシュすることで実行時におけるディスクの読み込み回数を減らします。このタスクは運用サーバーでのみ使 われます。プロジェクトを変更するたびにタスクを再実行することをお忘れなく。477 このタスクを実行すればアプリケーションのテンプレートファイルの位置をキャッシュすることで実行時におけるディスクの読み込み回数を減らします。このタスクは運用サーバーでのみ使うべきです。プロジェクトを変更するたびにタスクを再実行することをお忘れなく。 478 478 479 479 $ php symfony project:optimize frontend … … 485 485 ### タスクからメールを送信する 486 486 487 `getMailer()` メソッドを使うことでタスクからメールを簡単に送信することができ ます。487 `getMailer()` メソッドを使うことでタスクからメールを簡単に送信することができるようになりました。 488 488 489 489 ### タスクでルーティングを使う 490 490 491 `getRouting()` メソッドを使うことでタスクからルーティングオブジェクトを簡単に得 ることができます。491 `getRouting()` メソッドを使うことでタスクからルーティングオブジェクトを簡単に得られるようになりました。 492 492 493 493 例外 … … 500 500 ### Web デバッグツールバー 501 501 502 可能であれば、開発環境の例外ページで Web デバッグツールバーが表示されます。502 可能であれば、開発環境の例外ページでも Web デバッグツールバーが表示されるようになりました。 503 503 504 504 Propel との統合 … … 548 548 filter: false 549 549 550 この設定が考慮される前にモデルをリビルドしなければならないことに 注意してください。これはふるまいがモデルに添付されこれをリビルドした後でのみ存在するからです。550 この設定が考慮される前にモデルをリビルドしなければならないことにご注意ください。これはふるまいがモデルに添付されこれをリビルドした後でのみ存在するからです。 551 551 552 552 ### 異なるバージョンの Propel を使う … … 596 596 ### データの更新 597 597 598 国際化オペレーションに使われるすべてのデータは `ICU` プロジェクトから更新されました。symfony には約 330個のロケールファイルが付属しており、symfony 1.2 と比べると約 70個増えています。ですのでたとえば、言語リストの10番目の項目をチェックするテストケースが通らない可能性があることにご注意をお願いします。598 国際化オペレーションに使われるすべてのデータは `ICU` プロジェクトから更新されました。symfony には約330個のロケールファイルが付属しており、symfony 1.2 と比べると約70個増えています。ですのでたとえば、言語リストの10番目の項目をチェックするテストケースが通らない可能性があることにご注意をお願いします。 599 599 600 600 ### ユーザーロケールを基準にソートする 601 601 602 このロケールに依存するデータにおけるすべてのソートもロケールに依存して実行されます。この目的のために `sfCultureInfo->sortArray()` を使うことができます。602 ユーザーロケールに依存するデータのソートもすべてロケールに依存して実行されます。この目的のために `sfCultureInfo->sortArray()` を使うことができます。 603 603 604 604 プラグイン … … 637 637 ### `sfPluginConfiguration::connectTests()` 638 638 639 新しい `setupPlugins()` メソッドのなかでプラグインコンフィギュレーションの `->connectTests()` メソッドを呼び出すことでプラグインのテストを `test:*` タスクに 結びつけることができます。639 新しい `setupPlugins()` メソッドのなかでプラグインコンフィギュレーションの `->connectTests()` メソッドを呼び出すことでプラグインのテストを `test:*` タスクにつなげることができます。 640 640 641 641 [php] … … 655 655 symfony 1.3/1.4 は可能であればファイルパスをクリック可能なリンク (すなわちデバッグ例外のテンプレート) にフォーマットします。`sf_file_link_format` がセットされている場合、この目的に使われ、そうでなければ、symfony は PHP コンフィギュレーションの `xdebug.file_link_format` の値を探します。 656 656 657 たとえば、 TextMate でファイルを開きたい場合、次のコードを `settings.yml` に追加します:657 たとえば、ファイルを TextMate で開きたい場合、次のコードを `settings.yml` に追加します: 658 658 659 659 [yml] … … 671 671 ### フォームクラスを生成する 672 672 673 Doctrine の YAML スキーマファイルのなかで ymfony の追加オプションを指定できるようになりました。そしてフォームとフィルタークラスの生成を無効にするオプションもいくつか追加されました。673 Doctrine の YAML スキーマファイルのなかで symfony の追加オプションを指定できるようになりました。そしてフォームとフィルタークラスの生成を無効にするオプションもいくつか追加されました。 674 674 675 675 たとえば、 典型的な多対多のリファレンスモデルでは、フォームもしくはフィルターフォームクラスを生成させる必要はありません。ですので次のようなことができます: … … 696 696 Doctrine で開発するときに手助けしてくれる新しいタスクが導入されました。 697 697 698 #### モデルテーブルを作 成する698 #### モデルテーブルを作る 699 699 700 700 指定モデルの配列のためにテーブルを個別に作ることができるようになりました。テーブルを削除するときあなたに代わってテーブルを再作成してくれます。既存のプロジェクト/データベースで新しいモデルを開発するとき、データベース全体を一掃したくなく単にテーブル群を再構築したいときに役立ちます。 … … 704 704 #### モデルファイルを削除する 705 705 706 YAML スキーマファイルのなかでモデルや名前を変更したり、使わ なくなったモデルを削除したりすることがよくあるでしょう。このような作業を行ったとき、孤児となったモデル、フォームそしてフィルタークラスが現れます。`doctrine:delete-model-files` タスクを使うことで、モデルに関連する生成ファイルを手作業で掃除することができるようになりました。706 YAML スキーマファイルのなかでモデルや名前を変更したり、使われなくなったモデルを削除することがよくあるでしょう。このような作業を行うと、孤児となったモデル、フォームそしてフィルタークラスが出てきます。`doctrine:delete-model-files` タスクを使うことで、モデルに関連する生成ファイルを手作業で掃除できるようになりました。 707 707 708 708 $ php symfony doctrine:delete-model-files ModelName … … 716 716 $ php symfony doctrine:clean-model-files 717 717 718 上記コマンドは YAML スキーマファイルと生成モデルやファイルと比較し、どれを削除す べきかを決定します。これらのモデルは `doctrine:delete-model-files` タスクに伝えられます。タスクは自動的に削除する前にどのファイルが削除されるのか確認を求めます。718 上記コマンドは YAML スキーマファイルと生成モデルやファイルと比較し、どれを削除するのかを決定します。これらのモデルは `doctrine:delete-model-files` タスクに渡されます。タスクは自動的に削除する前にどのファイルが削除されるのか確認を求めます。 719 719 720 720 #### 何でもビルドする … … 736 736 これはモデルを生成 (`:build-model`) し、データベースのマイグレーション (`:migrate`) を行い、そしてカテゴリのフィクスチャデータ (`:data-load --append --dir=/data/fixtures/categories.yml`)をつけ加えます。 737 737 738 より多くの情報は `doctrine:build` タスクのヘルプページを参照してください。738 詳しい情報は `doctrine:build` タスクのヘルプページを参照してください。 739 739 740 740 #### 新しいオプション: `--migrate` … … 751 751 #### `doctrine:generate-migration --editor-cmd` 752 752 753 `doctrine:generate-migration` タスクは `--editor-cmd` オプションを受け入れるようになりました。このオプションは編集を楽にするために マイグレーションクラスが作られると実行されます。753 `doctrine:generate-migration` タスクは `--editor-cmd` オプションを受け入れるようになりました。このオプションは編集を楽にするためにありマイグレーションクラスが作られるときに実行されます。 754 754 755 755 … … 770 770 ### 日付のセッターとゲッター 771 771 772 Doctrine の日付とタイムスタンプの値を PHP の DateTime オブジェクトインスタンスとして取得するための 2つの新しいメソッドが追加されました。772 Doctrine の日付とタイムスタンプの値を PHP の DateTime オブジェクトインスタンスとして取得するための2つの新しいメソッドが追加されました。 773 773 774 774 [php] … … 776 776 ->format('m/d/Y'); 777 777 778 `setDateTimeObject` メソッドを呼び出し 有効な `DateTime` インスタンスを渡すだけで日付の値もセットできます。778 `setDateTimeObject` メソッドを呼び出し、有効な `DateTime` インスタンスを渡すだけで日付の値もセットできます。 779 779 780 780 [php] … … 783 783 ### `doctrine:migrate --down` 784 784 785 `doctrine:migrate` はスキーマをリクエストされる方向に 1回でマイグレートする `up` と `down` オプションを受け入れます。785 `doctrine:migrate` はスキーマをリクエストされる方向に1回でマイグレートする `up` と `down` オプションを受け入れます。 786 786 787 787 $ php symfony doctrine:migrate --down … … 816 816 ### 機能テストでクエリをデバッグする 817 817 818 `sfTesterDoctrine` クラスに `->debug()` メソッドが 収録されました。このメソッドは現在のコンテクストで実行されたクエリの情報を出力します。818 `sfTesterDoctrine` クラスに `->debug()` メソッドが用意されました。このメソッドは現在のコンテクストで実行されたクエリの情報を出力します。 819 819 820 820 [php] … … 824 824 ; 825 825 826 メソッドに数値を渡すことで直近の実行されたクエリの履歴を見ることができ 、文字列を渡すことで文字列の一部にマッチするものや正規表現にマッチするクエリだけを表示することができます。826 メソッドに数値を渡すことで直近の実行されたクエリの履歴を見ることができる、もしくは文字列を渡すことで文字列の一部にマッチするものや正規表現にマッチするクエリだけを表示することができます。 827 827 828 828 [php] … … 841 841 )); 842 842 843 `->setTableMethod()` ( または `table_method` オプション) を通して指定されたテーブルメソッドはクエリオブジェクトを返す必要がありません。次はどれも有効な `sfFormFilterDoctrine` テーブルメソッドです:844 845 [php] 846 // symfony >= 1.2 で動 作する843 `->setTableMethod()` (もしくは `table_method` オプション) を通して指定されたテーブルメソッドはクエリオブジェクトを返す必要がありません。次はどれも有効な `sfFormFilterDoctrine` テーブルメソッドです: 844 845 [php] 846 // symfony >= 1.2 で動く 847 847 public function getQuery() 848 848 { … … 850 850 } 851 851 852 // symfony >= 1.2 で動作する852 // symfony >= 1.2 で動く 853 853 public function filterQuery(Doctrine_Query $query) 854 854 { … … 856 856 } 857 857 858 // symfony >= 1.3 で動作する858 // symfony >= 1.3 で動く 859 859 public function modifyQuery(Doctrine_Query $query) 860 860 { … … 862 862 } 863 863 864 フォームフィルターのカスタマイズが簡単になりました。フィルタリングをフィールドに追加する には、必要なのはウィジェットとそれを処理するメソッドを追加することだけです。864 フォームフィルターのカスタマイズが簡単になりました。フィルタリングをフィールドに追加するのに必要なのはウィジェットとそれを処理するメソッドを追加することだけです。 865 865 866 866 [php] … … 894 894 ### マジックメソッドの PHPDoc タグ 895 895 896 symfony が Doctrine モデルに追加するゲッターとセッターのマジックメソッドはそれぞれの生成基底クラスの PHPDoc ヘッダーに現れます。IDE がコード入力補完をサポートする場合、これらの `getFooBar()` と `setFooBar()` メソッド がモデルオブジェクトに現れることがわかります。`FooBar` はラクダ記法のフィールド名です。896 symfony が Doctrine モデルに追加するゲッターとセッターのマジックメソッドはそれぞれの生成基底クラスの PHPDoc ヘッダーに現れます。IDE がコード入力補完をサポートする場合、これらの `getFooBar()` と `setFooBar()` メソッドはモデルオブジェクトで見ることになります。`FooBar` はラクダ記法のフィールド名です。 897 897 898 898 ### 異なるバージョンの Doctrine を使う … … 939 939 ---------- 940 940 941 `sfDoctrinePager` と `sfPropelPager` メソッドは `Iterator` と `Countable` インターフェイスを実装 しています。941 `sfDoctrinePager` と `sfPropelPager` メソッドは `Iterator` と `Countable` インターフェイスを実装するようになりました。 942 942 943 943 <?php if (count($pager)): ?> … … 956 956 ビューキャッシュマネージャーは `factories.yml` でパラメーターを受けとります。ビューのキャッシュキーの生成はクラスを簡単に拡張できるように異なる方法でリファクタリングされました。 957 957 958 `factories.yml` で 2つのパラメーターが利用できます:958 `factories.yml` で2つのパラメーターが利用できます: 959 959 960 960 * `cache_key_use_vary_headers` (デフォルト: true): キャッシュキーが Vary ヘッダーの一部を含むか指定します。実際には、`vary` キャッシュパラメーターで指定されるので、これはページキャッシュが HTTP ヘッダーに依存するかどうかを伝えます。 … … 962 962 * `cache_key_use_host_name` (デフォルト: true): キャッシュキーがホスト名の部分を含むか指定します。実際には、これはページキャッシュがホスト名に依存するかどうかを伝えます。 963 963 964 ### さらにキャッシュ965 966 ビューキャッシュマネージャーは配列の `$_GET` もしくは `$_POST` に値が存在するのかによってキャッシュを拒否 することはありません。ロジックは現在のリクエストが `cache.yml` をチェックする前の GET リクエストメソッドであることを確認するだけです。このことは次のページがキャッシュ可能であることを意味します:964 ### キャッシュの強化 965 966 ビューキャッシュマネージャーは配列の `$_GET` もしくは `$_POST` に値が存在するのかによってキャッシュを拒否しなくなりました。ロジックは現在のリクエストが `cache.yml` をチェックする前の GET リクエストメソッドであることを確認するだけです。このことは次のページがキャッシュ可能であることを意味します: 967 967 968 968 * `/js/my_compiled_javascript.js?cachebuster123` … … 978 978 ### `PUT` と `DELETE` パラメーター 979 979 980 Content-Type が `application/x-www-form-urlencoded` にセットされ た `PUT`、`DELETE` HTTP リクエストメソッドが来た場合、symfony は生のボディを解析し、通常の `POST` パラメーターのようにアクセスできるパラメーターを作ります。980 Content-Type が `application/x-www-form-urlencoded` にセットされている `PUT`、`DELETE` HTTP リクエストメソッドが来る場合、symfony は生のボディを解析し、通常の `POST` パラメーターのようにアクセスできるパラメーターを作ります。 981 981 982 982 アクション … … 985 985 ### `redirect()` 986 986 987 `sfAction:redirect()` メソッドは symfony 1.2 で導入された `url_for()` の機能と互換性を 持つようになりました。987 `sfAction:redirect()` メソッドは symfony 1.2 で導入された `url_for()` の機能と互換性をもつようになりました。 988 988 989 989 [php] … … 1001 1001 ### `link_to_if()`、`link_to_unless()` 1002 1002 1003 `link_to_if()` と `link_to_unless()` ヘルパーは symfony 1.2 で導入された `link_to()` メソッド と互換性を持つようになりました:1003 `link_to_if()` と `link_to_unless()` ヘルパーは symfony 1.2 で導入された `link_to()` メソッドのシグネチャと互換性をもつようになりました: 1004 1004 1005 1005 [php] … … 1013 1013 ----------- 1014 1014 1015 `sfContext` にメソッドを動的に追加するために `context.method_not_found` をリスニングできます。プラグインから遅延ロードファクトリを追加する場合に役立 つでしょう。1015 `sfContext` にメソッドを動的に追加するために `context.method_not_found` をリスニングできます。プラグインから遅延ロードファクトリを追加する場合に役立ちます。 1016 1016 1017 1017 [php] doc/branches/1.4/tutorial/ja/which-version.markdown
r28343 r28384 2 2 ================================== 3 3 4 symfony 1.3 と symfony 1.4 のドキュメントはまったく同じものです。2つの異なるバージョンでドキュメントが 1 つしかない状況はめったにないことなので、このドキュメントでは2つのバージョンの主な違いが何であり、あなたのプロジェクトのために最善の選択をどのようにするのかを説明します。4 symfony 1.3 と symfony 1.4 のドキュメントはまったく同じものです。2つの異なるバージョンでドキュメントが1つしかない状況はめったにないことなので、このドキュメントでは2つのバージョンの主な違いが何であり、あなたのプロジェクトのために最善の選択をどのようにするのかを説明します。 5 5 6 6 symfony 1.3 と symfony 1.4 は両方とも同じ時期 (2009年末) にリリースされ、実際のところ、これらは両方とも**まったく同じ機能一式**を備えています。2つのバージョンの唯一の違いは symfony の古いバージョンとの後方互換性のサポート状況です。 … … 8 8 symfony 1.3 は古い symfony のバージョン (1.0、1.1 もしくは 1.2) を使うレガシープロジェクトをアップグレードする場合に選びたいリリースです。これは 1.3 の開発期間に廃止予定の後方互換性レイヤーとすべての機能を備えています。このことはアップグレードが楽でシンプルであり、そして安全でもあることを意味します。 9 9 10 今日新しいプロジェクトを始めるのであれば、symfony 1.4 を選ぶべきです。このバージョンは symfony 1.3 と同じ機能一式を備えていますが、完全な互換性を含めて、すべての廃止予定の機能が削除されています。このバージョンは symfony 1.3 よりもクリーンで少し速く動きます。symfony 1.4 を使う別の大きな利点はサポート期間がより長いことで、symfony コアチームによって 3年間メンテナンスされます (2012年11月まで)。10 今日新しいプロジェクトを始めるのであれば、symfony 1.4 を選ぶべきです。このバージョンは symfony 1.3 と同じ機能一式を備えていますが、完全な互換性を含めて、すべての廃止予定の機能が削除されています。このバージョンは symfony 1.3 よりもクリーンで少し速く動きます。symfony 1.4 を使う別の大きな利点はサポート期間がより長いことで、symfony コアチームによって3年間メンテナンスされます (2012年11月まで)。 11 11 12 もちろん、プロジェクトを symfony 1.3 にマイグレートして symfony 1.3 がサポートされる期間 (2010年 11月まで) に廃止予定の機能を削除してコードをゆっくりアップデートしてから長期サポートの恩恵を得るために最終的に symfony 1.4 に移行するための時間が十分にあります。12 もちろん、プロジェクトを symfony 1.3 にマイグレートして symfony 1.3 がサポートされる期間 (2010年11月まで) に廃止予定の機能を削除してコードをゆっくりアップデートしてから長期サポートの恩恵を得るために最終的に symfony 1.4 に移行するための時間が十分にあります。 13 13 14 14 このドキュメントは廃止予定の機能を説明しないので、すべての例は両方のバージョンで等しく動きます。