Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yii2
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
PSDI Army
yii2
Commits
2c698f13
Commit
2c698f13
authored
Nov 28, 2014
by
Nobuo Kihara
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
docs/guide-ja/start-hello.md - revised [ci skip]
parent
9c67a28f
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
21 additions
and
21 deletions
+21
-21
start-hello.md
docs/guide-ja/start-hello.md
+21
-21
No files found.
docs/guide-ja/start-hello.md
View file @
2c698f13
「こんにちは」と言う
====================
この節では、アプリケーションに新しい「こんにちは」
というページを作成する方法を説明します。
この目的を達するために、
[
アクション
](
structure-controllers.md#creating-actions
)
と
[
ビュー
](
structure-views.md
)
を作成することになります:
この節では、アプリケーションに「こんにちは」という
新しいページを作成する方法を説明します。
この目的を達するために、
[
アクション
](
structure-controllers.md#creating-actions
)
と
[
ビュー
](
structure-views.md
)
を作成することになります。
*
アプリケーションがこのページへのリクエストをそのアクションに送付し、
*
次にそのアクションが "Hello" という言葉をエンドユーザに示すビューを表示します。
このチュートリアルを通じて、次の三つのこと
を学びます:
このチュートリアルを通じて、三つのことを学
びます。
1.
リクエストに応える
[
アクション
](
structure-controllers.md
)
をどのようにして作るか、
2.
レスポンスの内容を構成する
[
ビュー
](
structure-views.md
)
をどのようにして作るか
、そして、
3.
アプリケーションはどのようにして
リクエストを
[
アクション
](
structure-controllers.md#creating-actions
)
に送付するか。
1.
リクエストに応える
[
アクション
](
structure-controllers.md
)
を作成する方法
2.
レスポンスの内容を構成する
[
ビュー
](
structure-views.md
)
を作成する方法
3.
アプリケーションがリクエストを
[
アクション
](
structure-controllers.md#creating-actions
)
に送付する仕組み
アクションを作成する<a name="creating-action"></a>
--------------------
「こんにちは」のタスクのために、
`message`
パラメータをリクエストから読んでそのメッセージをユーザに表示して返す
`sa
y`
[
アクション
](
structure-controllers.md#creating-actions
)
を作ります。
リクエストが
`message`
パラメータを提供しない場合は、このアクションは既定値とし
て "He
llo" というメッセージを表示するものとします。
「こんにちは」のタスクのために、
`message`
パラメータをリクエストから読んで、そのメッセージをユーザに表示して返す
`s
ay`
[
アクション
](
structure-controllers.md#creating-actions
)
を作ります。
リクエストが
`message`
パラメータを提供しない場合は、アクションは既定値として
"
Hello" というメッセージを表示するものとします。
> Info|情報: [アクション](structure-controllers.md#creating-actions) は、エンドユーザが直接に参照して実行できるオブジェクトです。
アクションは
[
コントローラ
](
structure-controllers.md
)
によってグループ化されます。
...
...
@@ -27,7 +27,7 @@
アクションは
[
コントローラ
](
structure-controllers.md
)
の中で宣言されなければなりません。
話を簡単にするために、
`say`
アクションを既存の
`SiteController`
の中で宣言しましょう。
このコントローラは
`controllers/SiteController.php`
というクラスファイルの中で定義されています。
次のようにして、新しいアクションを書き始めます:
次のようにして、新しいアクションを書き始めます。
```
php
<?php
...
...
@@ -47,9 +47,9 @@ class SiteController extends Controller
}
```
上記のコードで、
`sa
y`
アクションは
`SiteController`
クラスの中で
`actionSay`
という
名前のメソッドとして定義されています。
Yii はコントローラクラスの中でアクションのメソッドとア
クシ
ョンでないメソッドを区別するために、
`action`
という接頭辞を使います。
`action`
という接頭辞の後の名前がアクション ID にマップされます。
上記のコードでは、
`S
iteController`
クラスの中で、
`say`
アクションが
`actionSay`
という
名前のメソッドとして定義されています。
Yii はコントローラクラスの中で、アクションのメソッドと
アクシ
ョンでないメソッドを区別するために、
`action`
という接頭辞を使います。
`action`
という接頭辞の後に続く名
前がアク
ション ID にマップされます。
アクションを命名するについては、Yii がアクション ID をどのように取り扱うかを知っているべきです。
アクション ID は常に小文字で参照されます。
...
...
@@ -57,16 +57,16 @@ Yii 縺ッ繧ウ繝ウ繝医Ο繝シ繝ゥ繧ッ繝ゥ繧ケ縺ョ荳ュ縺ァ繧「繧ッ繧キ繝ァ繝ウ縺ョ繝。繧ス繝ラ縺ィ繧「
アクションメソッドの名前は、アクション ID からダッシュを全て削除し、各単語の先頭の文字を大文字にした結果に
`action`
という接頭辞を付けたものとします。
例えば、アクション ID
`create-comment`
に対応するアクションメソッド名は
`actionCreateComment`
となります。
私たちの例では、このアクションメソッドは
`$message`
というパラ
メータを取ります。
そして、このパラメータは
`"Hello"`
という既定値を取ります
(PHP で関数やメソッドの引数について既定値をセットするのと全く同じ方法を使います)。
アプリケーションは、リクエストを受け取って、当該リクエストの処理を
`say`
アクションに任せると決定した場合、リクエストの中に同じ名前の付いたパラメータがあれば、それをこのパラメータに代入します。
私たちの例では、このアクションメソッドは
`"Hello"`
という既定値
をもつ
`$message`
というパラメータを取ります
(PHP で関数やメソッドの引数に既定値をセットするのと全く同じ方法です)。
アプリケーションは、リクエストを受け取ったとき、当該リクエストの処理を
`say`
アクションが担当すべきであると決定した場合は、
リクエストの中に同じ名前の付いたパラメータがあれば、その値をこのパラメータに代入します。
言い換えれば、もしリクエストに
`"GoodBye"`
という値の
`message`
パラメータが入っていれば、アクションの
`$message`
変数にその値が割り当てられます。
このアクションメソッドの中では、
[
[yii\web\Controller::render()|render()
]
] が呼ばれて
`say`
と言う名前の
[
ビュー
](
structure-views.md
)
ファイルがレンダリングされます。
`message`
パラメータも同時にビューに渡され、そこで使用されます。
レンダリング結果はアクションメソッドによって返されます。
返された結果はアプリケーションによって受け取られ、ブラウザ上でエンドユーザに(完全な HTML ページの一部として)表示されます。
返された結果はアプリケーションによって受け取られ、ブラウザ上でエンドユーザに (完全な HTML ページの一部として) 表示されま
す。
ビューを作成する<a name="creating-view"></a>
...
...
@@ -98,7 +98,7 @@ use yii\helpers\Html;
試してみる<a name="trying-it-out"></a>
----------
アクションとビューを作成したら、新しいページに下記の
URL でアクセスしてみましょう:
アクションとビューを作成したら、下記の URL で新
しいページにアクセスすることが出来ます。
```
http://hostname/index.php?r=site/say&message=Hello+World
...
...
@@ -106,11 +106,11 @@ http://hostname/index.php?r=site/say&message=Hello+World
![
Hello World
](
images/start-hello-world.png
)
この URL は
"
Hello World" を表示するページになります。
この URL は、
結果として、"Hell
o World" を表示するページになります。
このページはアプリケーションの他のページと同じヘッダとフッタを共有します。
URL から
`message`
パラメータを省略すると、"Hello" だけを表示するページを見ることになるでしょう。
これは、
`message`
が
`actionSay()`
メソッドにパラメータとして渡され、省略された場合には、既定
値である
`"Hello"`
が代りに使われるからです。
これは、
`message`
が
`actionSay()`
メソッドにパラメータとして渡されるものであり、それが省略さ
れた場合には、既定値である
`"Hel
lo"`
が代りに使われるからです。
> Info|情報: 新しいページは他のページと同じヘッダとフッタを共有しますが、それは [[yii\web\Controller::render()|render()]] メソッドが `say` ビューの結果をいわゆる [レイアウト](structure-views.md#layouts) に自動的に埋め込むからです。
レイアウトは、この場合、
`views/layouts/main.php`
にあります。
...
...
@@ -118,7 +118,7 @@ URL 縺九i `message` 繝代Λ繝。繝シ繧ソ繧堤怐逡・縺吶k縺ィ縲"Hello" 縺縺代r陦ィ遉コ
上記の URL の
`r`
パラメータについて、さらに説明が必要でしょう。
これは
[
ルート
](
runtime-routing.md
)
、すなわち、特定のアクションを指し示すアプリケーション全体で一意な ID を表します。
ルートの書式は
`ControllerID/ActionID`
です。
アプリケーションはリクエストを受け取ると、このパラメータをチェックし、
`ControllerID`
の部分を使って、このリクエストを処理するためにどのコントローラクラスのインスタンスを作成すべきかを決定します。
アプリケーションはリクエストを受け取ると、このパラメータ
`r`
をチェックし、
`Controlle
rID`
の部分を使って、このリクエストを処理するためにどのコントローラクラスのインスタンスを作成すべきかを決定します。
そして、コントローラは
`ActionID`
の部分を使って、実際の仕事をするためにどのアクションを呼び出すべきかを決定します。
この例で言えば、
`site/say`
というルートは、
`SiteController`
コントローラクラスと
`say`
アクションとして解決されます。
結果として、
`SiteController::actionSay()`
メソッドがリクエストを処理するために呼び出されます。
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment