Commit 1a159abc by Alexander Makarov

Merge pull request #5581 from softark/docs-ja-2014-10-15b

[ci skip] Docs ja 2014 10 15b
parents 62905937 e550c651
Yii とは何か
============
Yii は現代的なウェブアプリケーションを迅速に開発するための、高性能な、コンポーネントベースの PHP フレームワークです。
Yii という名前 (`イー` すなわち `[ji:]` と発音します) は、中国語で「単純かつ進展的」であることを意味します。
また **Yes It Is** の省略形であると考えることも出来ます。
Yii は何に向いているか
----------------------
Yii は汎用的なウェブプログラミングフレームワークです。
つまり、あらゆる種類のウェブアプリケーションを PHP を使って開発するときに、Yii を使用することが出来ます。
コンポーネントベースのアーキテクチャと洗練されたキャッシュサポートを持っているため、Yii は大規模なアプリケーション、たとえば、ポータル、フォーラム、コンテンツマネージメントシステム (CMS)、電子商取引プロジェクト、RESTful ウェブサービス、等々を開発するのに特に適しています。
Yii を他のフレームワークと比べるとどうか?
-----------------------------------------
あなたが既に他のフレームワークに親しんでいる場合は、Yii を比較するとどうなるのかを知りたいと思うでしょう:
- ほとんどの PHP フレームワーク同様、Yii は MVC (Model-View-Controller) デザインパターンを実装し、このパターンに基いたコードの組織化を促進しています。
- Yii は、コードはシンプルかつエレガントに書かれるべきである、という哲学を採用しています。
Yii は、何らかのデザインパターンを厳密に守ることを主たる目的として大袈裟な設計をすることは、決してしようとしません。
- Yii は、検証済みで直ちに使える多数の機能を提供するフル装備のフレームワークです:
リレーショナルデータベースと NoSQL データベースの両方のためのクエリビルダとアクティブレコード; RESTful API 開発サポート; 多層構成のキャッシュサポート; その他諸々。
- Yii は極めて拡張性の高いフレームワークです。あなたはコアのコードのほとんど全ての要素をカスタマイズしたり置き換えたりすることが出来ます。
また、Yii の堅固なエクステンションアーキテクチャを利用して、再配布可能なエクステンションを使用したり開発したりすることも出来ます。
- 高性能であることは常に Yii の主たる目的の一つです。
Yii は「独演会」ではありません。Yii は [強力なコア開発チーム][] および Yii 開発に間断なく貢献してくれるプロフェッショナルの大きなコミュニティーに支えられたプロジェクトです。
Yii 開発チームは最新のウェブ開発の潮流や、他のフレームワークやプロジェクトに見られる最善の慣行と機能から目を離しません。
他のところで見られる関連性の高い最善の慣行と機能は定期的にコアフレームワークに組み込まれ、シンプルかつエレガントなインターフェイスを通じて公開されます。
[強力なコア開発チーム]: http://www.yiiframework.com/about/
Yii のバージョン
----------------
Yii は現在、利用可能な二つのメジャーバージョン、すなわち 1.1 と 2.0 を持っています。
バージョン 1.1 は古い世代のもので、現在はメンテナンスモードにあります。
バージョン 2.0 は、最新のテクノロジーとプロトコル、例えば、Composer、PSR、名前空間、トレイトなどを採用して、Yii を完全に書き直したものです。
バージョン 2.0 がこのフレームワークの現在の世代を表すものであり、今後数年間にわたって主要な開発努力の対象となるものです。
このガイドは主としてバージョン 2.0 について述べます。
必要条件と前提条件
------------------
Yii 2.0 は PHP 5.4.0 以上を必要とします。
個別の機能に対するさらに詳細な必要条件は、全ての Yii リリースに含まれている必要条件チェッカーを走らせることによって知ることが出来ます。
Yii は純粋なオブジェクト指向のフレームワークですので、Yii を使うためにはオブジェクト指向プログラミング (OOP) の基本的な知識が必要とされます。
また、Yii 2.0 は [名前空間](http://php.net/manual/ja/language.namespaces.php)[トレイト](http://php.net/manual/ja/language.oop5.traits.php) のような PHP の最新の機能を利用しています。
これらの概念を理解することは、Yii 2.0 を採用することをより一層容易にするでしょう。
...@@ -22,15 +22,15 @@ Yii 繧偵け繝ュ繝シ繝ウ縺励◆繝ぅ繝ャ繧ッ繝医Μ縲√☆縺ェ繧上■ "yii2" 縺ォ蜈・縺」縺ヲ縲 ...@@ -22,15 +22,15 @@ 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 を持つべきです。 全ての新機能とバグ修正は、議論とドキュメンテーションのための単一の参照ポイントを提供するために、それに結びつく課題を持つべきです。
数分間時間を取って、既存の issue リストに目を通し、あなたが寄稿しようとしている問題に合致するものが無いかどうか調べてください。 数分間時間を取って、既存の課題リストに目を通し、あなたが寄稿しようとしている問題に合致するものが無いかどうか調べてください。
もし issue リストにすでに挙っているのを見つけた場合は、その issue にコメントを残して、あなたがその項目について取り組もうとしていることを示してください。 もし課題リストにすでに挙っているのを見つけた場合は、その課題にコメントを残して、あなたがその項目について取り組もうとしていることを示してください。
あなたが取り組もうとしている問題に合致する既存の issue が見つからなかった場合は、新しい issue を作成してください。単純な修正であれば、直接にプルリクエストをしてください。 あなたが取り組もうとしている問題に合致する既存の課題が見つからなかった場合は、新しい課題を作成してください。単純な修正であれば、直接にプルリクエストをしてください。
こうすることで、開発チームはあなたの提案をレビューし、将来にわたって適切なフィードバックを提供することが可能になります。 こうすることで、開発チームはあなたの提案をレビューし、将来にわたって適切なフィードバックを提供することが可能になります。
> 小さな変更や、ドキュメンテーションの問題、または単純な修正については、issue を作成する必要はありません。それらについては、プルリクエストだけで十分です。 > 小さな変更や、ドキュメンテーションの問題、または単純な修正については、課題を作成する必要はありません。それらについては、プルリクエストだけで十分です。
### 4. メインの Yii ブランチから最新のコードをフェッチする ### 4. メインの Yii ブランチから最新のコードをフェッチする
...@@ -45,8 +45,8 @@ git fetch upstream ...@@ -45,8 +45,8 @@ git fetch upstream
> これは非常に重要です。なぜなら、master ブランチを使うと、あなたのアカウントからは一つ以上のプルリクエストを送信することが出来なくなるからです。 > これは非常に重要です。なぜなら、master ブランチを使うと、あなたのアカウントからは一つ以上のプルリクエストを送信することが出来なくなるからです。
独立したバグ修正や変更は、各々、それ自身のブランチに入れるべきです。 独立したバグ修正や変更は、各々、それ自身のブランチに入れるべきです。
ブランチの名前は説明的なものにし、あなたのコードが関係する issue の番号で始まるようにしてください。 ブランチの名前は説明的なものにし、あなたのコードが関係する課題の番号で始まるようにしてください。
特定の issue を修正するものでない場合は、番号を省略してください。 特定の課題を修正するものでない場合は、番号を省略してください。
例えば: 例えば:
``` ```
...@@ -59,7 +59,7 @@ git checkout -b 999-name-of-your-branch-goes-here ...@@ -59,7 +59,7 @@ git checkout -b 999-name-of-your-branch-goes-here
動くことを確認してくださいね :) 動くことを確認してくださいね :)
ユニットテストは常に歓迎されます。テストされ、十分にカバーされたコードは、あなたの寄稿をチェックするタスクを非常に単純化してくれます。 ユニットテストは常に歓迎されます。テストされ、十分にカバーされたコードは、あなたの寄稿をチェックするタスクを非常に単純化してくれます。
ユニットテストの失敗を中身とする issue を立てることも許容されています。 ユニットテストの失敗を中身とする課題を立てることも許容されています。
### 7. CHANGELOG を更新する ### 7. CHANGELOG を更新する
...@@ -72,8 +72,8 @@ Bug #999: 繝舌げ菫ョ豁」縺ョ蜀ョケ隱ャ譏 (縺ゅ↑縺溘蜷榊燕) ...@@ -72,8 +72,8 @@ Bug #999: 繝舌げ菫ョ豁」縺ョ蜀ョケ隱ャ譏 (縺ゅ↑縺溘蜷榊燕)
Enh #999: 機能拡張の内容説明 (あなたの名前) Enh #999: 機能拡張の内容説明 (あなたの名前)
``` ```
`#999``Bug` または `Enh` が示している issue 番号です。 `#999``Bug` または `Enh` が示している課題番号です。
チェンジログはタイプ(`Bug`, `Enh`)によってグループ化し、issue 番号順に並べます。 チェンジログはタイプ(`Bug`, `Enh`)によってグループ化し、課題番号順に並べます。
非常に小さな修正、すなわち、タイポやドキュメンテーションの修正については、CHANGELOG を更新する必要はありません。 非常に小さな修正、すなわち、タイポやドキュメンテーションの修正については、CHANGELOG を更新する必要はありません。
...@@ -116,9 +116,9 @@ git push -u origin 999-name-of-your-branch-goes-here ...@@ -116,9 +116,9 @@ git push -u origin 999-name-of-your-branch-goes-here
### 11. upstream に対してプルリクエスト ( [pull request](http://help.github.com/send-pull-requests/)) を発行する ### 11. upstream に対してプルリクエスト ( [pull request](http://help.github.com/send-pull-requests/)) を発行する
github 上のあなたのリポジトリに入って、"Pull Request" をクリックし、右側にあるブランチを選び、コメントボックスにもう少し詳細を記述します。 github 上のあなたのリポジトリに入って、"Pull Request" をクリックし、右側にあるブランチを選び、コメントボックスにもう少し詳細を記述します。
プルリクエストを issue とリンクさせるために、プルコメントのどこかに `#999` という書式で issue 番号を記載します。 プルリクエストを課題とリンクさせるために、プルコメントのどこかに `#999` という書式で課題番号を記載します。
> 各プルリクエストは単一の issue を修正すべきものであることに注意してください。 > 各プルリクエストは単一の課題を解決すべきものであることに注意してください。
### 12. 誰かがあなたのコードをレビューする ### 12. 誰かがあなたのコードをレビューする
......
課題を報告する
==============
あなたが報告する課題(issue 問題)がより迅速に解決されるように、課題を作成するときには下記のガイドラインに従って下さい:
* 以下の情報を提供して下さい: PHP と Yii のバージョン、オペレーティングシステムとウェブサーバのタイプ、ブラウザのタイプとバージョン;
* 出来れば、**完全な**エラーのコールスタックを提供して下さい。問題を説明するスクリーンショットは大いに歓迎します。
* 問題を再現する手順を記述して下さい。問題を再現するコードを提供してくださるならば、なお一層良いでしょう。
**以下の場合は課題を報告しないでください**
* Yii の何らかの機能の使い方に関する質問。この目的のためには、[フォーラム](http://www.yiiframework.com/forum/index.php/forum/42-general-discussions-for-yii-20/) または [チャットルーム](http://www.yiiframework.com/chat/) を使うべきです。
* 問題がセキュリティに関するものである場合。セキュリティ問題を報告するときは、[開発者に直接コンタクト](http://www.yiiframework.com/security/) してください。
**課題の重複を避ける**
課題を報告する前に、[既存の課題](https://github.com/yiisoft/yii2/issues) を検索して、あなたが報告しようとしている課題が既に報告されていたり解決されていたりしないかを確かめ、重複した課題を報告しないようにしてください。
さらにまた、Yii の最新のバージョンを使ってみて、それでもまだ問題が残っているかどうかを確かめてください。
Yii バージョン番号規約
======================
リリース
--------
A.B.C
A = Yii2 では常に 2。
B = メジャーバージョン。アップグレードのための説明をともなう非後方互換な変更。
C = 後方互換な変更と追加。
リリース候補
------------
A.B.C-rc
A.B.C-rc2
リリース候補を出したいときに用います。RC 番号は、安定したリリースを得て、致命的なバグと後方互換性に関する問題報告が無くなるまで、増加します。
アルファとベータ
----------------
A.B.C-alpha
A.B.C-alpha2
アルファは、著しいバグがおそらく存在するであろう、不安定なバージョンです。
API はまだ固まっておらず、大きく変更されるかもしれません。
`alpha2` などは、コードと API の全体的な安定性によって、リリースされたり、リリースされなかったりします。
A.B.C-beta
A.B.C-beta2
ベータはアルファに比べていくらか安定して、バグや API の不安定性が少なくなったものです。
まだ API が変更されることがあり得ますが、そのためにはかなりの理由がなければならないでしょう。
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