Commit 82857d3e by Nobuo Kihara

docs/internals-ja - reviewed [ci skip]

parent 21402fc7
...@@ -4,12 +4,12 @@ ...@@ -4,12 +4,12 @@
Yii の開発に取り組む際に、自動化できるタスクがいくつかあります: Yii の開発に取り組む際に、自動化できるタスクがいくつかあります:
- フレームワークのルートディレクトリに配置されるクラスマップ `classes.php` の生成。 - フレームワークのルートディレクトリに配置されるクラスマップ `classes.php` の生成。
`./build/build classmap`走らせて生成してください。 `./build/build classmap`実行して生成してください。
- クラスファイルの中の、ゲッターとセッターによって導入されるプロパティを記述する `@property` 注釈の生成。 - クラスファイルの中の、ゲッターとセッターによって導入されるプロパティを記述する `@property` 注釈の生成。
`./build/build php-doc/property`走らせて注釈を更新してください。 `./build/build php-doc/property`実行して注釈を更新してください。
- コードスタイルと phpdoc コメントの些細な問題の修正。 - コードスタイルと phpdoc コメントの些細な問題の修正。
`./build/build php-doc/fix`走らせて修正してください。 `./build/build php-doc/fix`実行して修正してください。
このコマンドは完璧なものではないため、望ましくない変更があるかもしれませんので、コミットする前に変更点をチェックしてください。 このコマンドは完璧なものではないため、望ましくない変更があるかもしれませんので、コミットする前に変更点をチェックしてください。
`git add -p` を使って変更をプレビューすることも出来ます。 `git add -p` を使って変更をレビューすることが出来ます。
...@@ -12,9 +12,9 @@ ...@@ -12,9 +12,9 @@
技術者でないエンドユーザに対して表示され、また、そういうユーザに対して意味を持つメッセージは翻訳されるべきである。 技術者でないエンドユーザに対して表示され、また、そういうユーザに対して意味を持つメッセージは翻訳されるべきである。
HTTP ステータスメッセージ、コードに関する例外などは翻訳されるべきではない。 HTTP ステータスメッセージ、コードに関する例外などは翻訳されるべきではない。
コンソールメッセージは、エンコーディングとコードページの処理に困難が伴うため、常に英語で表示されるものとする。 コンソールメッセージは、エンコーディングとコードページの処理に困難が伴うため、常に英語で表示されるものとする。
3. **[Auth クライアントのサポートの追加](https://github.com/yiisoft/yii2/issues/1652)** 3. **[認証クライアントのサポートの追加](https://github.com/yiisoft/yii2/issues/1652)**
保守性を高めるために、コアエクステンションに Auth クライアントをこれ以上追加しない。 保守性を高めるために、コアエクステンションには認証クライアントをこれ以上追加しない。
Auth クライアントの追加はユーザエクステンションの形でなされるべきである。 認証クライアントの追加はユーザエクステンションの形でなされるべきである。
4. **クロージャを使うときは**、たとえ使用されないものがある場合でも、**渡されたすべてのパラメータをシグニチャに含める** ことが推奨される。 4. **クロージャを使うときは**、たとえ使用されないものがある場合でも、**渡されたすべてのパラメータをシグニチャに含める** ことが推奨される。
このようにすると、全ての情報が直接に見えるので、コードの修正やコピーがより容易になり、どのパラメータが実際に利用できるかをドキュメントで調べる必要がなくなる。 このようにすると、全ての情報が直接に見えるので、コードの修正やコピーがより容易になり、どのパラメータが実際に利用できるかをドキュメントで調べる必要がなくなる。
([#6584](https://github.com/yiisoft/yii2/pull/6584), [#6875](https://github.com/yiisoft/yii2/issues/6875)) ([#6584](https://github.com/yiisoft/yii2/pull/6584), [#6875](https://github.com/yiisoft/yii2/issues/6875))
...@@ -12,22 +12,21 @@ Yii2 の開発を始めよう ...@@ -12,22 +12,21 @@ Yii2 の開発を始めよう
このコマンドは内部的に `composer update` を実行します。 このコマンドは内部的に `composer update` を実行します。
5. 以上で、Yii 2 をハックするための作業用環境が手に入りました。 5. 以上で、Yii 2 をハックするための作業用環境が手に入りました。
最新の変更を pull するために yii2 の upstream レポジトリを追加すること出来ます。 最新の変更を pull するために yii2 の upstream レポジトリを追加すること出来ます。
``` ```
git remote add upstream https://github.com/yiisoft/yii2.git git remote add upstream https://github.com/yiisoft/yii2.git
``` ```
プルリクエストの作成に関する詳細は、[Yii 2 寄稿者のための Git ワークフロー プルリクエストの作成に関する詳細は、[Yii 2 寄稿者のための Git ワークフロー](git-workflow.md) を参照してください。
](git-workflow.md) を参照してください。
ユニットテスト 単体テスト
-------------- ----------
ユニットテストを走らせるためには、dev-repo のための composer パッケージをインストールする必要があります。 単体テストを走らせるためには、dev-repo のための composer パッケージをインストールする必要があります。
`composer update` をレポジトリのルートディレクトリで実行して、最新のパッケージを取得してください。 `composer update` をレポジトリのルートディレクトリで実行して、最新のパッケージを取得してください。
そうすれば、`phpunit` を走らせてユニットテストを実行することが出来ます。 そうすれば、`phpunit` を走らせて単体テストを実行することが出来ます。
テストを現在取り組んでいる一群のテストだけに制限することが出来ます。 テストを現在取り組んでいる一群のテストだけに制限することが出来ます。
例えば、バリデータと redis のためだけにテストを実行するには、`phpunit --group=validators,redis` とします。 例えば、バリデータと redis のためだけにテストを実行するには、`phpunit --group=validators,redis` とします。
......
Yii 2 寄稿者のための Git ワークフロー Yii 2 寄稿者のための Git ワークフロー
===================================== =====================================
Yii の開発に寄稿したい、ですって? すばらしい! けれども、あなたの修正案が速やかに採用されるチャンスを増やすためには、 Yii の開発に寄稿したい、ですって? すばらしい!
以下のステップを踏むようにしてください (最初の二つのステップは最初に寄稿するときにだけ必要になります)。 けれども、あなたの修正案が速やかに採用されるチャンスを増やすためには、以下のステップを踏むようにしてください (最初の二つのステップは最初に寄稿するときにだけ必要になります)。
あなたが git と github については初めてだという場合は、最初に [github help](http://help.github.com/)[try git](https://try.github.com) を精査したり、 あなたが git と github については初めてだという場合は、最初に [github help](http://help.github.com/)[try git](https://try.github.com) を精査したり、[git internal data model](http://nfarina.com/post/9868516270/git-is-simpler) についていくらか学習したりする必要があるかもしれません。
[git internal data model](http://nfarina.com/post/9868516270/git-is-simpler) についていくらか学習したりする必要があるかもしれません。
### 1. github で Yii リポジトリを [Fork](http://help.github.com/fork-a-repo/) し、あなたのフォークをあなたの開発環境にクローンする ### 1. github で Yii リポジトリを [Fork](http://help.github.com/fork-a-repo/) し、あなたのフォークをあなたの開発環境にクローンする
...@@ -12,26 +11,27 @@ Yii の開発に寄稿したい、ですって? すばらしい! けれども、 ...@@ -12,26 +11,27 @@ Yii の開発に寄稿したい、ですって? すばらしい! けれども、
git clone git@github.com:YOUR-GITHUB-USERNAME/yii2.git git clone git@github.com:YOUR-GITHUB-USERNAME/yii2.git
``` ```
Linux において、GitHub で GIT を設定するのに問題が生じたり、"Permission Denied (publickey)" のようなエラーが発生したりする場合は、 Linux において、GitHub で GIT を設定するのに問題が生じたり、"Permission Denied (publickey)" のようなエラーが発生したりする場合は、[setup your GIT installation to work with GitHub](http://help.github.com/linux-set-up-git/) に従ってください。
[setup your GIT installation to work with GitHub](http://help.github.com/linux-set-up-git/) に従ってください。
### 2. メインの Yii リポジトリを "upstream" という名前でリモートとして追加する ### 2. メインの Yii リポジトリを "upstream" という名前でリモートとして追加する
Yii をクローンしたディレクトリ、通常は "yii2" に入ります。そして、以下のコマンドを打ち込みます: Yii をクローンしたディレクトリ、通常は "yii2" に入って、以下のコマンドを打ち込みます。
``` ```
git remote add upstream git://github.com/yiisoft/yii2.git git remote add upstream git://github.com/yiisoft/yii2.git
``` ```
### 3. あなたが取り組んでいる問題が、修正するために著しい努力を要求するものである場合は、それに対する課題(issue)が作成されていることを確認する ### 3. あなたが取り組んでいる問題が、修正するために著しい努力を要求するものである場合は、それに対する課題 (issue) が作成されていることを確認する
全ての新機能とバグ修正は、議論とドキュメントのための単一の参照ポイントを提供するために、それに結びつく課題を持つべきです。 全ての新機能とバグ修正は、議論とドキュメントのための単一の参照ポイントを提供するために、それに結びつく課題 (issue) を持つべきです。
数分間時間を取って、既存の課題リストに目を通し、あなたが寄稿しようとしている問題に合致するものが無いかどうか調べてください。 数分間時間を取って、既存の課題リストに目を通し、あなたが寄稿しようとしている問題に合致するものが無いかどうか調べてください。
もし課題リストにすでに挙っているのを見つけた場合は、その課題にコメントを残して、あなたがその項目について取り組もうとしていることを示してください。 もし課題リストにすでに挙っているのを見つけた場合は、その課題にコメントを残して、あなたがその項目について取り組もうとしていることを示してください。
あなたが取り組もうとしている問題に合致する既存の課題が見つからなかった場合は、新しい課題を作成してください。単純な修正であれば、直接にプルリクエストをしてください。 あなたが取り組もうとしている問題に合致する既存の課題が見つからなかった場合は、新しい課題を作成してください。
単純な修正であれば、直接にプルリクエストをしてください。
こうすることで、開発チームはあなたの提案をレビューし、将来にわたって適切なフィードバックを提供することが可能になります。 こうすることで、開発チームはあなたの提案をレビューし、将来にわたって適切なフィードバックを提供することが可能になります。
> 小さな変更や、ドキュメントの問題、または単純な修正については、課題を作成する必要はありません。それらについては、プルリクエストだけで十分です。 > 小さな変更や、ドキュメントの問題、または単純な修正については、課題を作成する必要はありません。
それらについては、プルリクエストだけで十分です。
### 4. メインの Yii ブランチから最新のコードをフェッチする ### 4. メインの Yii ブランチから最新のコードをフェッチする
...@@ -59,8 +59,8 @@ git checkout -b 999-name-of-your-branch-goes-here ...@@ -59,8 +59,8 @@ git checkout -b 999-name-of-your-branch-goes-here
動くことを確認してくださいね :) 動くことを確認してくださいね :)
ユニットテストは常に歓迎されます。テストされ、十分にカバーされたコードは、あなたの寄稿をチェックするタスクを非常に単純化してくれます。 単体テストは常に歓迎されます。テストされ、十分にカバーされたコードは、あなたの寄稿をチェックするタスクを非常に単純化してくれます。
ユニットテストの失敗を中身とする課題を立てることも許容されています。 単体テストの失敗を中身とする課題を立てることも許容されています。
### 7. CHANGELOG を更新する ### 7. CHANGELOG を更新する
...@@ -143,8 +143,7 @@ git push origin --delete 999-name-of-your-branch-goes-here ...@@ -143,8 +143,7 @@ git push origin --delete 999-name-of-your-branch-goes-here
### 注意: ### 注意:
退行 (regression) を早期に発見するために、github 上の Yii コードベースへのマージは、すべて [Travis CI](http://travis-ci.org) に取り上げられて、自動化されたテストにかけられます。 退行 (regression) を早期に発見するために、github 上の Yii コードベースへのマージは、すべて [Travis CI](http://travis-ci.org) に取り上げられて、自動化されたテストにかけられます。
コアチームとしては、このサービスに過大な負担をかけたくないために、 コアチームとしては、このサービスに過大な負担をかけたくないために、以下の場合にはマージの説明に [`[ci skip]`](http://about.travis-ci.org/docs/user/how-to-skip-a-build/) が含まれるようにしてください。
以下の場合にはマージの説明に [`[ci skip]`](http://about.travis-ci.org/docs/user/how-to-skip-a-build/) が含まれるようにしてください。
すなわち、プルリクエストが、 すなわち、プルリクエストが、
* javascript、css または画像ファイルだけに影響する場合 * javascript、css または画像ファイルだけに影響する場合
......
...@@ -25,7 +25,7 @@ use yii\widgets\ActiveForm; ...@@ -25,7 +25,7 @@ use yii\widgets\ActiveForm;
// コンテキストのプロパティを設定したり、コンテキストのセッターを呼んだり、その他のことをする。 // コンテキストのプロパティを設定したり、コンテキストのセッターを呼んだり、その他のことをする。
$this->title = 'Posts'; $this->title = 'Posts';
?> ?>
<!-- foreach、for などには、独立した PHP ブロックを使う方が良い --> <!-- foreach、for, if などには、独立した PHP ブロックを使う方が良い -->
<?php foreach ($posts as $post): ?> <?php foreach ($posts as $post): ?>
<!-- インデントのレベルに注目 --> <!-- インデントのレベルに注目 -->
<h2><?= Html::encode($post['title']) ?></h2> <h2><?= Html::encode($post['title']) ?></h2>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment