merge from yiisoft/yii2

This commit is contained in:
cuileon
2018-11-14 11:57:32 +08:00
parent 47df8a8cc0
commit 489dd119a5
426 changed files with 18465 additions and 4215 deletions

View File

@ -1,24 +1,19 @@
# Yii をマイクロ・フレームワークとして使う
Yii はベーシック・テンプレートやアドバンスト・テンプレートに含まれる機能なしで使うことが簡単にできます。
言葉を換えれば、Yii は既にマイクロ・フレームワークです。
Yii を使うためにテンプレートによって提供されているディレクトリ構造を持つことは要求されていません。
Yii はベーシック・テンプレートやアドバンスト・テンプレートに含まれる機能なしで使うことが簡単にできます。言葉を換えれば、Yii は既にマイクロ・フレームワークです。Yii を使うためにテンプレートによって提供されているディレクトリ構造を持つことは要求されていません。
このことは、アセットやビューなどの事前定義されたテンプレート・コードを必要としない場合には、特に好都合です。
そのような場合の一つが JSON API です。以下に続くセクションで、どのようにしてそれを実現するかを示します。
このことは、アセットやビューなどの事前定義されたテンプレート・コードを必要としない場合には、特に好都合です。そのような場合の一つが JSON API です。以下に続くセクションで、どのようにしてそれを実現するかを示します。
## Yii をインストールする
プロジェクト・ファイルのためのディレクトリを作成し、ワーキング・ディレクトリをそのパスに変更します。
例で使用されているコマンドは UNIX ベースのものですが、同様のコマンドが Windows にもあります。
プロジェクト・ファイルのためのディレクトリを作成し、ワーキング・ディレクトリをそのパスに変更します。例で使用されているコマンドは UNIX ベースのものですが、同様のコマンドが Windows にもあります。
```bash
mkdir micro-app
cd micro-app
```
> Note: 続けるためには Composer についての知識が多少必要です。
Composer の使い方をまだ知らない場合は、時間を取って、[Composer Guide](https://getcomposer.org/doc/00-intro.md) を読んでください。
> Note: 続けるためには Composer についての知識が多少必要です。Composer の使い方をまだ知らない場合は、時間を取って、[Composer Guide](https://getcomposer.org/doc/00-intro.md) を読んでください。
`micro-app` ディレクトリの下に `composer.json` ファイルを作成し、あなたの好みのエディタを使って、下記を追加します。
@ -40,9 +35,7 @@ cd micro-app
## プロジェクトの構造を作成する
フレームワークをインストールしたら、次は、アプリケーションの [エントリ・ポイント](structure-entry-scripts.md) を作成します。
エントリ・ポイントは、アプリケーションを開こうとしたときに、一番最初に実行されるファイルです。
セキュリティ上の理由により、エントリ・ポイントを置くディレクトリは別にして、それをウェブ・ルートとします。
フレームワークをインストールしたら、次は、アプリケーションの [エントリ・ポイント](structure-entry-scripts.md) を作成します。エントリ・ポイントは、アプリケーションを開こうとしたときに、一番最初に実行されるファイルです。セキュリティ上の理由により、エントリ・ポイントを置くディレクトリは別にして、それをウェブ・ルートとします。
`web` ディレクトリを作成して、下記の内容を持つ `index.php` をそこに置きます。
@ -80,8 +73,7 @@ return [
> Info: 構成情報を `index.php` ファイルに持つことも出来ますが、別のファイルに持つことを推奨します。
> そうすれば、後で示しているように、同じ構成情報をコンソール・アプリケーションから使うことが出来ます。
これであなたのプロジェクトはコーディングの準備が出来ました。
プロジェクトのディレクトリ構造を決定するのは、名前空間に注意する限り、あなた次第です。
これであなたのプロジェクトはコーディングの準備が出来ました。プロジェクトのディレクトリ構造を決定するのは、名前空間に注意する限り、あなた次第です。
## 最初のコントローラを作成する
@ -120,7 +112,8 @@ micro-app/
```
まだウェブ・サーバをセットアップしていない場合は、[ウェブ・サーバの構成ファイル例](start-installation.md#configuring-web-servers) を参照すると良いでしょう。
もう一つのオプションは、PHP の内蔵ウェブ・サーバを利用する `yii serve` コマンドを使うことです。`micro-app/` ディレクトリから、次のコマンドを実行します。
もう一つのオプションは、PHP の内蔵ウェブ・サーバを利用する `yii serve` コマンドを使うことです。
`micro-app/` ディレクトリから、次のコマンドを実行します。
vendor/bin/yii serve --docroot=./web
@ -150,7 +143,8 @@ micro-app/
> Info: ここでは話を簡単にするために sqlite データベースを使用します。他のオプションについては [データベースのガイド](db-dao.md) を参照してください。
次に、[データベース・マイグレーション](db-migrations.md) を作成して、記事のテーブルを作成します。
既に述べたように、独立した構成情報ファイルがあることを確認してください。下記のコンソール・コマンドを実行するためには、それが必要です。
既に述べたように、独立した構成情報ファイルがあることを確認してください。
下記のコンソール・コマンドを実行するためには、それが必要です。
次のコマンドを実行すると、データベース・マイグレーション・ファイルが作成され、そして、マイグレーションがデータベースに適用されます。
vendor/bin/yii migrate/create --appconfig=config.php create_post_table --fields="title:string,body:text"
@ -175,7 +169,7 @@ class Post extends ActiveRecord
```
> Info: ここで作成されたモデルは ActiveRecord クラスのもので、`post` テーブルのデータを表します。
> 詳細な情報は [アクティブレコードのガイド](db-active-record.md) を参照してください。
> 詳細な情報は [アクティブレコードのガイド](db-active-record.md) を参照してください。
私たちの API で記事データへのアクセスを提供するために、`controllers``PostController` を追加します。