Skip to content

Commit 55c353d

Browse files
authored
Merge pull request #8048 from tamurayk/update-ja-docs
update ja docs about appendices
2 parents 8c7576d + afff131 commit 55c353d

File tree

4 files changed

+282
-3
lines changed

4 files changed

+282
-3
lines changed

ja/appendices/5-0-migration-guide.rst

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ CakePHP 5.0 には、破壊的な変更が含まれており、4.x リリース
4343
Auth
4444
----
4545

46-
- `Auth` は削除されました。代わりにプラグイン `cakephp/authentication <https://book.cakephp.org/authentication/2/en/index.html>`__ および
47-
`cakephp/authorization <https://book.cakephp.org/authorization/2/en/index.html>`__ をお使い下さい
46+
- `Auth` は削除されました。代わりに `cakephp/authentication <https://book.cakephp.org/authentication/3/ja/index.html>`__ および
47+
`cakephp/authorization <https://book.cakephp.org/authorization/3/ja/index.html>`__ プラグインを使用してください
4848

4949
Cache
5050
-----
@@ -63,6 +63,9 @@ Console
6363
- ``BaseCommand::__construct()`` は削除されました。
6464
- ``ConsoleIntegrationTestTrait::useCommandRunner()`` は、もはや必要無いため削除されました。
6565
- ``Shell`` は削除されました。代わりに `Command <https://book.cakephp.org/5/en/console-commands/commands.html>`__ をお使い下さい。
66+
- ``ConsoleOptionParser::addSubcommand()`` は ``Shell`` の削除とともに削除されました。
67+
サブコマンドは ``Command`` クラスで置き換えてください。
68+
必要なコマンド名は ``Command::defaultName()`` を実装することで定義できます。
6669
- ``BaseCommand`` は ``execute()`` メソッドがフレームワークから呼び出される前後に ``Command.beforeExecute`` および
6770
``Command.afterExecute`` のイベントを発行するようになりました。
6871

@@ -145,6 +148,8 @@ I18n
145148

146149
- ``FrozenDate`` は `Date` に名称変更され、また ``FrozenTime`` も `DateTime` に名称変更されました。
147150
- ``Time`` は ``Cake\Chronos\ChronosTime`` を継承するようになりました。その結果として変更不可能(immutable)になりました。
151+
- ``Date`` オブジェクトは ``DateTimeInterface`` を継承しなくなりました。そのため、 ``DateTime`` オブジェクトと比較することはできません。
152+
詳細は `cakephp/chronos のリリースドキュメント <https://github.com/cakephp/chronos/releases/tag/3.0.2>`__ を参照してください。
148153
- ``Date::parseDateTime()`` は削除されました。
149154
- ``Date::parseTime()`` は削除されました。
150155
- ``Date::setToStringFormat()`` および ``Date::setJsonEncodeFormat()`` は、配列を受け付けないようになりました。

ja/appendices/5-1-migration-guide.rst

Lines changed: 162 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,162 @@
1+
5.1 移行ガイド
2+
###################
3+
4+
5.1.0 リリースは 5.0 と後方互換性があります。
5+
新機能が追加され、新たな非推奨機能が導入されます。
6+
5.x で非推奨とされた機能は 6.0.0 で削除されます。
7+
8+
動作の変更
9+
================
10+
11+
- Connectionは、設定に ``read`` または ``write`` キーが存在する場合、その値に関係なく一意の読み取りおよび書き込みドライバーを作成するようになりました。
12+
- FormHelper は、 ``required`` 属性が設定されている入力要素に対して ``aria-required`` 属性を生成しなくなりました。
13+
これらの要素では ``aria-required`` 属性は冗長であり、HTML のバリデーション警告を引き起こします。
14+
スタイリングやスクリプトで ``aria-required`` 属性を使用している場合は、アプリケーションを更新する必要があります。
15+
- 重複した名前でアソシエーションを追加しようとすると例外が発生するようになりました。
16+
必要に応じて ``$table->associations()->has()`` を使って条件付きでアソシエーションを定義できます。
17+
- テキストユーティリティおよび TextHelper の省略や最大長に関するメソッドは、
18+
``...`` の代わりに UTF-8 文字の ``ellipsis`` を使用するようになりました。
19+
- ``TableSchema::setColumnType()`` は、指定したカラムが存在しない場合に例外をスローするようになりました。
20+
- ``PluginCollection::addPlugin()`` は、同じ名前のプラグインがすでに追加されている場合に例外をスローするようになりました。
21+
- ``TestCase::loadPlugins()`` は、以前にロードされたプラグインをすべてクリアするようになりました。
22+
そのため、以降のテストで必要なすべてのプラグインを指定する必要があります。
23+
- ``groups`` を使用する ``Cache`` 設定用のハッシュアルゴリズムが変更されました。
24+
すべてのキーに対して新しいグループプレフィックスのハッシュが生成されるため、キャッシュミスが発生します。
25+
完全にコールドキャッシュとなるのを避けるため、段階的なデプロイを検討してください。
26+
- ``FormHelper::getFormProtector()`` は、従来の型に加えて ``null`` を返すようになりました。
27+
これにより動的なビューコードがエラーになりにくくなりますが、ほとんどのアプリケーションには影響しません。
28+
- ``Table::findList()`` の ``valueSeparator`` のデフォルト値が ``;`` から半角スペースに変更されました。
29+
- ``ErrorLogger`` は ``Psr\Log\LogTrait`` を使用するようになりました。
30+
- ``Database\QueryCompiler::$_orderedUnion`` は削除されました。
31+
32+
非推奨
33+
============
34+
35+
I18n
36+
----
37+
38+
- ``_cake_core_`` キャッシュ設定キーは ``_cake_translations_`` に変更されました。
39+
40+
Mailer
41+
------
42+
43+
- ``Mailer::setMessage()`` は非推奨となりました。このメソッドは直感的でない動作をし、利用頻度も非常に低いためです。
44+
45+
46+
新機能
47+
============
48+
49+
Cache
50+
-----
51+
52+
- ``RedisEngine`` で Redis への TLS 接続を有効にする ``tls`` オプションがサポートされるようになりました。。
53+
``ssl_ca``、``ssl_cert``、``ssl_key`` オプションを使用して Redis 用の TLS コンテキストを定義できます。
54+
55+
Command
56+
-------
57+
58+
- ``bin/cake plugin list`` が追加され、利用可能なすべてのプラグイン、そのロード設定、およびバージョンを一覧表示できるようになりました。
59+
- オプションの ``Command`` 引数に ``default`` 値を指定できるようになりました。
60+
- ``BannerHelper`` が追加されました。このコマンドヘルパーは、テキストをカラフルな背景と余白付きのバナーとして整形できます。
61+
- ``ConsoleOutput`` に ``info.bg``、``warning.bg``、``error.bg``、``success.bg`` のデフォルトスタイルが追加されました。
62+
63+
Console
64+
-------
65+
66+
- ``Arguments::getBooleanOption()`` および ``Arguments::getMultipleOption()`` が追加されました。
67+
- ``Arguments::getArgument()`` は、未知の引数名が指定された場合に例外をスローするようになりました。
68+
これにより、オプション名と引数名の混同を防ぐことができます。
69+
70+
71+
Controller
72+
----------
73+
74+
- コンポーネントでも、コントローラやコマンドと同様に、DIコンテナを使用して依存関係を解決し、コンストラクタの引数として受け取れるようになりました。
75+
76+
Core
77+
----
78+
79+
- ``PluginConfig`` が追加されました。このクラスを使用すると、利用可能なすべてのプラグイン、そのロード設定、およびバージョンを取得できます。
80+
- ``toString``、 ``toInt``、 ``toBool`` 関数が追加されました。これらの関数は、リクエストデータや他の入力値を型安全にキャストし、変換に失敗した場合は ``null`` を返します。
81+
- ``pathCombine()`` が追加され、重複や末尾のスラッシュを気にせずパスを組み立てられるようになりました。
82+
- ``BaseApplication`` および ``BasePlugin`` クラスに新しい ``events`` フックが追加されました。
83+
このフックは、アプリケーションのグルーバルイベントリスナーを登録する推奨方法です。詳しくは :ref:`Registering Listeners <registering-event-listeners>` を参照してください。
84+
85+
Database
86+
--------
87+
88+
- ``point``、 ``linestring``、 ``polygon``、 ``geometry`` 型のサポートが追加されました。
89+
これらの型は地理空間やデカルト座標を扱う際に便利です。SQLite のサポートは内部的にテキストカラムを使用しており、
90+
データを地理空間値として操作するための関数はありません。
91+
- ``SelectQuery::__debugInfo()`` に、クエリがどのコネクションロール用のものかが含まれるようになりました。
92+
- ``SelectQuery::intersect()`` および ``SelectQuery::intersectAll()`` が追加されました。
93+
これらのメソッドにより、 ``INTERSECT`` および ``INTERSECT ALL`` 結合を使用したクエリを記述できるようになりました。
94+
- ``intersect``、 ``intersect-all``、および ``set-operations-order-by`` 機能がサポートされるようになりました。
95+
- 4.x に存在したバッファリングなしでレコードを取得する機能が復活しました。
96+
``SelectQuery::enableBufferedResults()``、` `SelectQuery::disableBufferedResults()``、
97+
``SelectQuery::isBufferedResultsEnabled()`` メソッドが再追加されました。
98+
99+
Datasource
100+
----------
101+
102+
- ``RulesChecker::remove()``、 ``removeCreate()``、 ``removeUpdate()``、および
103+
``removeDelete()`` メソッドが追加されました。これらのメソッドにより、ルールを名前で削除できるようになりました。
104+
105+
106+
Http
107+
----
108+
109+
- ``SecurityHeadersMiddleware::setPermissionsPolicy()`` が追加されました。このメソッドにより、``permissions-policy`` ヘッダー値を定義できるようになりました。
110+
- ``Client`` はリクエスト送信時に ``HttpClient.beforeSend`` および ``HttpClient.afterSend`` イベントを発火するようになりました。
111+
これらのイベントを利用して、ログ記録、キャッシュ、テレメトリ収集などを行うことができます。
112+
- ``Http\Server::terminate()`` が追加されました。
113+
このメソッドは ``Server.terminate`` イベントを発火し、fastcgi 環境ではレスポンス送信後にロジックを実行できます。
114+
その他の環境では ``Server.terminate`` イベントはレスポンス送信 ** に実行されます。
115+
116+
I18n
117+
----
118+
119+
- ``Number::formatter()`` および ``currency()`` は、丸め方法を上書きする ``roundingMode`` オプションを受け付けるようになりました。
120+
- ``toDate`` および ``toDateTime`` 関数が追加されました。これらの関数は、リクエストデータや他の入力値を型安全にキャストし、変換に失敗した場合は ``null`` を返します。
121+
122+
ORM
123+
---
124+
125+
- アソシエーションのファインダークエリで ``preserveKeys`` オプションを設定できるようになりました。
126+
これにより、 ``formatResults()`` と組み合わせて、アソシエーションのファインダー結果を連想配列として返すことができます。
127+
- 名前に ``json`` を含む SQLite カラムを ``JsonType`` にマッピングできるようになりました。
128+
この機能は現時点ではオプトインであり、アプリで ``ORM.mapJsonTypeForSqlite`` 設定値を ``true`` にすることで有効になります。
129+
130+
TestSuite
131+
---------
132+
133+
- CakePHP およびアプリのテンプレートは PHPUnit ``^10.5.5 || ^11.1.3"`` を使用するように更新されました。
134+
- ``ConnectionHelper`` のメソッドがすべて static になりました。このクラスは状態を持たず、メソッドが static に更新されました。
135+
- ``LogTestTrait`` が追加されました。この新しいトレイトにより、テスト内でログを簡単にキャプチャし、ログメッセージの有無をアサートできるようになりました。
136+
- ``IntegrationTestTrait::replaceRequest()`` が追加されました。
137+
138+
Utility
139+
-------
140+
141+
- ``Hash::insert()`` および ``Hash::remove()`` は、 ``array`` データに加えて ``ArrayAccess`` オブジェクトも受け付けるようになりました。
142+
143+
Validation
144+
----------
145+
146+
- ``Validation::enum()`` および ``Validator::enum()`` が追加されました。これらのバリデーションメソッドにより、Backed Enum 値の検証が簡単になりました。
147+
- ``Validation::enumOnly()`` および ``Validation::enumExcept()`` が追加されました。これらのメソッドにより、特定のケースの検証や、Backed Enum 値のバリデーションをさらに簡単に行うことができます。
148+
149+
View
150+
----
151+
152+
- View cells は、アクションの前後で ``Cell.beforeAction`` および ``Cell.afterAction`` イベントを発火するようになりました。
153+
- ``NumberHelper::format()`` は、丸め方法を上書きする ``roundingMode`` オプションを受け付けるようになりました。
154+
155+
Helpers
156+
-------
157+
158+
- ``TextHelper::autoLinkUrls()`` に、リンクラベルの表示を改善するためのオプションが追加されました:
159+
* ``stripProtocol``: リンク先の先頭から ``http://`` や ``https://`` を取り除きます。デフォルトは無効です。
160+
* ``maxLength``: リンクラベルの最大長を指定します。デフォルトは無効です。
161+
* ``ellipsis``: リンクラベルの末尾に付加する文字列です。デフォルトはUTF8バージョンです。
162+
- ``HtmlHelper::meta()`` で ``meta('csrfToken')`` を使うことで、現在の CSRF トークンを含む meta タグを生成できるようになりました。

0 commit comments

Comments
 (0)