Nobuo Kihara
7 years ago
1 changed files with 139 additions and 139 deletions
@ -1,152 +1,152 @@ |
|||||||
# Backwards Compatibility |
# 後方互換性 |
||||||
|
|
||||||
We're strictly not breaking backwards compatibility in patch releases such as `2.x.y.Z` and trying to avoid had to fix |
私たちは `2.x.y.Z` のようなパッチリリースにおいては厳密に後方互換性を保持するように努めるとともに、 |
||||||
backwards incompatible changes in minor releases such as `2.x.Y`. |
`2.x.Y` のようなマイナーリリースにおいても修正が必要となるような後方互換性の無い変更を避けるように努めています。 |
||||||
|
|
||||||
Check [Yii Versioning](versions.md) to learn about version numbering. |
バージョン番号については [Yii バージョン規約](versions.md) を参照して下さい。 |
||||||
|
|
||||||
## Usage |
## 使用 |
||||||
|
|
||||||
### Interfaces |
### インターフェイス |
||||||
|
|
||||||
Use case | BC? |
ユースケース | 後方互換? |
||||||
---------|---- |
-------------|---------- |
||||||
Type hint with the interface | Yes |
インターフェイスのタイプヒント | Yes |
||||||
Call the interface method | Yes |
インターフェイス・メソッドの呼び出し | Yes |
||||||
**Implement the interface and...** | |
**インターフェイスの実装における ...** | |
||||||
Implement method | Yes |
メソッドの実装 | Yes |
||||||
Add argument to method implemented | Yes |
実装済みメソッドへの引数の追加 | Yes |
||||||
Add default value to an argument | Yes |
引数のデフォルト値の追加 | Yes |
||||||
|
|
||||||
### Classes |
### クラス |
||||||
|
|
||||||
Use case | BC? |
ユースケース | 後方互換? |
||||||
---------|---- |
-------------|---------- |
||||||
Type hint with the class | Yes |
クラスのタイプヒント | Yes |
||||||
Create a new instance | Yes |
新しいインスタンスの作成 | Yes |
||||||
Extend the class | Yes |
クラスの拡張 | Yes |
||||||
Access a public property | Yes |
パブリック・プロパティへのアクセス | Yes |
||||||
Call a public method | Yes |
パブリック・メソッドの呼び出し | Yes |
||||||
**Extend the class and...** | |
**クラスの拡張における ...** | |
||||||
Access a protected property | Yes |
プロテクト・プロパティへのアクセス | Yes |
||||||
Call a protected method | Yes |
プロテクト・メソッドの呼び出し | Yes |
||||||
Override a public property | Yes |
パブリック・プロパティのオーバーライド | Yes |
||||||
Override a protected property | Yes |
プロテクト・プロパティのオーバーライド | Yes |
||||||
Override a public method | Yes |
パブリック・メソッドのオーバーライド | Yes |
||||||
Override a protected method | Yes |
プロテクト・メソッドのオーバーライド | Yes |
||||||
Add a new property | No |
新しいプロパティの追加 | No |
||||||
Add a new method | No |
新しいメソッドの追加 | No |
||||||
Add an argument to an overridden method | Yes |
オーバーライドされたメソッドへの引数の追加 | Yes |
||||||
Add a default value to an argument | Yes |
引数のデフォルト値の追加 | Yes |
||||||
Call a private method (via Reflection) | No |
プライベート・メソッドの呼び出し(リフレクション経由) | No |
||||||
Access a private property (via Reflection) | No |
プライベート・プロパティへのアクセス(リフレクション経由) | No |
||||||
|
|
||||||
|
|
||||||
## Development |
## 開発 |
||||||
|
|
||||||
### Changing interfaces |
### インターフェイスの変更 |
||||||
|
|
||||||
Type of change | BC? |
変更のタイプ | 後方互換? |
||||||
---------------|---- |
-------------|---------- |
||||||
Remove | No |
削除 | No |
||||||
Change name or namespace | No |
名前または名前空間の変更 | No |
||||||
Add parent interface | Yes if no new methods are added |
親のインターフェイスの追加 | 新しいメソッドが追加されなければ Yes |
||||||
Remove parent interface | No |
親のインターフェイスの削除 | No |
||||||
**Interface methods** | |
**インターフェイス・メソッド** | |
||||||
Add method | No |
メソッドの追加 | No |
||||||
Remove method | No |
メソッドの削除 | No |
||||||
Change name | No |
名前の変更 | No |
||||||
Move to parent interface | Yes |
親のインターフェイスへの移動 | Yes |
||||||
Add argument without a default value | No |
デフォルト値を持たない引数の追加 | No |
||||||
Add argument with a default value | No |
デフォルト値を持つ引数の追加 | No |
||||||
Remove argument | Yes (only last ones) |
引数の削除 | Yes (末尾の一つまたは複数の引数のみ) |
||||||
Add default value to an argument | No |
引数のデフォルト値の追加 | No |
||||||
Remove default value of an argument | No |
引数のデフォルト値の削除 | No |
||||||
Add type hint to an argument | No |
引数のタイプヒントの追加 | No |
||||||
Remove type hint of an argument | No |
引数のタイプヒントの削除 | No |
||||||
Change argument type | No |
引数の型の変更 | No |
||||||
Change return type | No |
戻り値の型の変更 | No |
||||||
**Constants** | |
**定数** | |
||||||
Add constant | Yes |
定数の追加 | Yes |
||||||
Remove constant | No |
定数の削除 | No |
||||||
Change value of a constant | Yes except objects that are likely to be serialized. Mandatory to document in UPGRADE.md. |
定数の値の変更 | シリアライズされる可能性のあるオブジェクトを除いて Yes。UPGRADE.md への記載が必須 |
||||||
|
|
||||||
### Classes |
### クラス |
||||||
|
|
||||||
Type of change | BC? |
変更のタイプ | 後方互換? |
||||||
---------------|---- |
-------------|---------- |
||||||
Remove | No |
削除 | No |
||||||
Make final | No |
final への変更 | No |
||||||
Make abstract | No |
abstract への変更 | No |
||||||
Change name or namespace | No |
名前または名前空間の変更 | No |
||||||
Change parent class | Yes but original parent class must remain an ancestor of the class. |
親クラスの変更 | Yes ただし元の親クラスは祖先クラス(祖父母クラスなど)として残らなければならない |
||||||
Add interface | Yes |
インターフェイスの追加 | Yes |
||||||
Remove interface | No |
インターフェイスの削除 | No |
||||||
**Public Properties** | |
**パブリック・プロパティ** | |
||||||
Add public property | Yes |
パブリック・プロパティの追加 | Yes |
||||||
Remove public property | No |
パブリック・プロパティの削除 | No |
||||||
Reduce visibility | No |
可視性の低減 | No |
||||||
Move to parent class | Yes |
親クラスへの移動 | Yes |
||||||
**Protected Properties** | |
**プロテクト・プロパティ** | |
||||||
Add protected property | Yes |
プロテクト・プロパティの追加 | Yes |
||||||
Remove protected property | No |
プロテクト・プロパティの削除 | No |
||||||
Reduce visibility | No |
可視性の低減 | No |
||||||
Move to parent class | Yes |
親クラスへの移動 | Yes |
||||||
**Private Properties** | |
**プライベート・プロパティ** | |
||||||
Add private property | Yes |
プライベート・プロパティの追加 | Yes |
||||||
Remove private property | Yes |
プライベート・プロパティの削除 | Yes |
||||||
**Constructors** | |
**コンストラクター** | |
||||||
Remove constructor | No |
コンストラクターの削除 | No |
||||||
Reduce visibility of a public constructor | No |
パブリック・コンストラクターの可視性低減 | No |
||||||
Reduce visibility of a protected constructor | No |
プロテクト・コンストラクターの可視性低減 | No |
||||||
Move to parent class | Yes |
親クラスへの移動 | Yes |
||||||
**Public Methods** | |
**パブリック・メソッド** | |
||||||
Add public method | Yes |
パブリック・メソッドの追加 | Yes |
||||||
Remove public method | No |
パブリック・メソッドの削除 | No |
||||||
Change name | No |
名前の変更 | No |
||||||
Reduce visibility | No |
可視性の低減 | No |
||||||
Move to parent class | Yes |
親クラスへの移動 | Yes |
||||||
Add argument without a default value | No |
デフォルト値を持たない引数の追加 | No |
||||||
Add argument with a default value | No |
デフォルト値を持つ引数の追加 | No |
||||||
Remove arguments | Yes, only last ones |
引数の削除 | Yes (末尾の一つまたは複数の引数のみ) |
||||||
Add default value to an argument | No |
引数のデフォルト値の追加 | No |
||||||
Remove default value of an argument | No |
引数のデフォルト値の削除 | No |
||||||
Add type hint to an argument | No |
引数のタイプヒントの追加 | No |
||||||
Remove type hint of an argument | No |
引数のタイプヒントの削除 | No |
||||||
Change argument type | No |
引数の型の変更 | No |
||||||
Change return type | No |
戻り値の型の変更 | No |
||||||
**Protected Methods** | |
**プロテクト・メソッド** | |
||||||
Add protected method | Yes |
プロテクト・メソッドの追加 | Yes |
||||||
Remove protected method | No |
プロテクト・メソッドの削除 | No |
||||||
Change name | No |
名前の変更 | No |
||||||
Reduce visibility | No |
可視性の低減 | No |
||||||
Move to parent class | Yes |
親クラスへの移動 | Yes |
||||||
Add argument without a default value | No |
デフォルト値を持たない引数の追加 | No |
||||||
Add argument with a default value | No |
デフォルト値を持つ引数の追加 | No |
||||||
Remove arguments | Yes, only last ones |
引数の削除 | Yes (末尾の一つまたは複数の引数のみ) |
||||||
Add default value to an argument | No |
引数のデフォルト値の追加 | No |
||||||
Remove default value of an argument | No |
引数のデフォルト値の削除 | No |
||||||
Add type hint to an argument | No |
引数のタイプヒントの追加 | No |
||||||
Remove type hint of an argument | No |
引数のタイプヒントの削除 | No |
||||||
Change argument type | No |
引数の型の変更 | No |
||||||
Change return type | No |
戻り値の型の変更 | No |
||||||
**Private Methods** | |
**プライベート・メソッド** | |
||||||
Add private method | Yes |
プライベート・メソッドの追加 | Yes |
||||||
Remove private method | Yes |
プライベート・メソッドの削除 | Yes |
||||||
Change name | Yes |
名前の変更 | Yes |
||||||
Add argument without a default value | Yes |
デフォルト値を持たない引数の追加 | Yes |
||||||
Add argument with a default value | Yes |
デフォルト値を持つ引数の追加 | Yes |
||||||
Remove argument | Yes |
引数の削除 | Yes |
||||||
Add default value to an argument | Yes |
引数のデフォルト値の追加 | Yes |
||||||
Remove default value of an argument | Yes |
引数のデフォルト値の削除 | Yes |
||||||
Add type hint to an argument | Yes |
引数のタイプヒントの追加 | Yes |
||||||
Remove type hint of an argument | Yes |
引数のタイプヒントの削除 | Yes |
||||||
Change argument type | Yes |
引数の方の変更 | Yes |
||||||
Change return type | Yes |
戻り値の型の変更 | Yes |
||||||
**Static Methods** | |
**スタティック・メソッド** | |
||||||
Turn non static into static | No |
非スタティックなメソッドのスタティックへの変更 | No |
||||||
Turn static into non static | No |
スタティックなメソッドの非スタティックへの変更 | No |
||||||
**Constants** | |
**定数** | |
||||||
Add constant | Yes |
定数の追加 | Yes |
||||||
Remove constant | No |
定数の削除 | No |
||||||
Change value of a constant | Yes except objects that are likely to be serialized. Mandatory to document in UPGRADE.md. |
定数の値の変更 | シリアライズされる可能性のあるオブジェクトを除いて Yes。UPGRADE.md への記載が必須 |
||||||
|
Loading…
Reference in new issue