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
7e0a42fc
Commit
7e0a42fc
authored
Oct 26, 2014
by
Alexander Makarov
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #5777 from softark/docs-ja-2014-10-26B
[skip ci] docs/guide-ja/structure-entry-scripts.md added
parents
de8bcdc9
ac1b2539
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
120 additions
and
1 deletion
+120
-1
structure-entry-scripts.md
docs/guide-ja/structure-entry-scripts.md
+119
-0
structure-overview.md
docs/guide-ja/structure-overview.md
+1
-1
No files found.
docs/guide-ja/structure-entry-scripts.md
0 → 100644
View file @
7e0a42fc
エントリスクリプト
==================
エントリスクリプトは、アプリケーションのブートストラップ過程のチェーンにおける最初の環です。
アプリケーションは (ウェブアプリケーションであれ、コンソールアプリケーションであれ)単一のエントリスクリプトを持ちます。
エンドユーザはエントリスクリプトに対してリクエストを発行し、エントリスクリプトはアプリケーションのインスタンスを作成して、
それにリクエストを送付します。
ウェブアプリケーションのエントリスクリプトは、エンドユーザからアクセス出来るように、
ウェブからのアクセスが可能なディレクトリの下に保管されなければなりません。
大抵は
`index.php`
と名付けられますが、ウェブサーバが見つけることが出来る限り、どのような名前を使っても構いません。
コンソールアプリケーションのエントリスクリプトは、通常は、アプリケーションの
[
ベースパス
](
structure-applications.md
)
の
下に保管され、
`yii`
と名付けられます (
`.php`
の拡張子を伴います) 。
これは、ユーザが
`./yii <route> [引数] [オプション]`
というコマンドによってコンソールアプリケーションを走らせることが出来るようにするためのスクリプトであり、実行可能なパーミッションを与えられるべきものです。
エントリスクリプトは主として次の仕事をします:
*
グローバルな定数を定義する;
*
[
Composer のオートローダ
](
http://getcomposer.org/doc/01-basic-usage.md#autoloading
)
を登録する;
*
[
[Yii
]
] クラスファイルをインクルードする;
*
アプリケーション設定を読み出す;
*
[
アプリケーション
](
structure-applications.md
)
のインスタンスを生成して構成する;
*
[
[yii\base\Application::run()
]
] を呼んで、受け取ったリクエストを処理する。
## ウェブアプリケーション<a name="web-applications"></a>
次に示すのが、
[
ベーシックウェブアプリケーションテンプレート
](
start-installation.md
)
のエントリスクリプトです:
```
php
<?php
defined
(
'YII_DEBUG'
)
or
define
(
'YII_DEBUG'
,
true
);
defined
(
'YII_ENV'
)
or
define
(
'YII_ENV'
,
'dev'
);
// Composer のオートローダを登録
require
(
__DIR__
.
'/../vendor/autoload.php'
);
// Yii クラスファイルをインクルード
require
(
__DIR__
.
'/../vendor/yiisoft/yii2/Yii.php'
);
// アプリケーション設定を読み出す
$config
=
require
(
__DIR__
.
'/../config/web.php'
);
// アプリケーションを作成し、構成して、走らせる
(
new
yii\web\Application
(
$config
))
->
run
();
```
## コンソールアプリケーション<a name="console-applications"></a>
同様に、下記がコンソールアプリケーションのエントリスクリプトです:le application:
```
php
#!/usr/bin/env php
<?php
/**
* Yii console bootstrap file.
*
* @link http://www.yiiframework.com/
* @copyright Copyright (c) 2008 Yii Software LLC
* @license http://www.yiiframework.com/license/
*/
defined
(
'YII_DEBUG'
)
or
define
(
'YII_DEBUG'
,
true
);
// fcgi が既定では STDIN と STDOUT を定義していないので
defined
(
'STDIN'
)
or
define
(
'STDIN'
,
fopen
(
'php://stdin'
,
'r'
));
defined
(
'STDOUT'
)
or
define
(
'STDOUT'
,
fopen
(
'php://stdout'
,
'w'
));
// Composer のオートローダを登録
require
(
__DIR__
.
'/vendor/autoload.php'
);
// Yii クラスファイルをインクルード
require
(
__DIR__
.
'/vendor/yiisoft/yii2/Yii.php'
);
// アプリケーション設定を読み出す
$config
=
require
(
__DIR__
.
'/config/console.php'
);
$application
=
new
yii\console\Application
(
$config
);
$exitCode
=
$application
->
run
();
exit
(
$exitCode
);
```
## 定数を定義する<a name="defining-constants"></a>
グローバルな定数を定義するには、エントリスクリプトが最善の場所です。
Yii は下記の三つの定数をサポートしています:
*
`YII_DEBUG`
: アプリケーションがデバッグモードで走るかどうかを規定します。
デバッグモードにおいては、アプリケーションはより多くのログ情報を保持し、
例外が投げられたときに、より詳細なエラーのコールスタックを表示します。
この理由により、デバッグモードは主として開発時に使用されるべきものとなります。
`YII_DEBUG`
の既定値は false です。
*
`YII_ENV`
: どういう環境でアプリケーションが走るかを規定します。
詳細については、
[
設定
](
concept-configurations.md#environment-constants
)
の節で説明されます。
`YII_ENV`
の既定値は
`'prod'`
です。これはアプリケーションが実運用環境で走ることを意味します。
*
`YII_ENABLE_ERROR_HANDLER`
: Yii によって提供されるエラーハンドラを有効にするかどうかを規定します。
この定数の既定値は true です。
定数を定義するときには、しばしば次のようなコードを用います:
```
php
defined
(
'YII_DEBUG'
)
or
define
(
'YII_DEBUG'
,
true
);
```
これは下記のコードと同じ意味のものです:
```
php
if
(
!
defined
(
'YII_DEBUG'
))
{
define
(
'YII_DEBUG'
,
true
);
}
```
明らかに前者の方が簡潔で理解しやすいでしょう。
PHP ファイルがインクルードされる時に定数の効力が生じるようにするために、定数の定義はエントリスクリプトの冒頭でなされるべきです。
docs/guide-ja/structure-overview.md
View file @
7e0a42fc
...
...
@@ -15,7 +15,7 @@ MVC 以外にも、Yii のアプリケーションは下記の要素を持って
*
[
アプリケーションコンポーネント
](
structure-application-components.md
)
: アプリケーションと共に登録されたオブジェクトであり、リクエストに応えるための様々なサービスを提供します。
*
[
モジュール
](
structure-modules.md
)
: それ自身に完全な MVC を含む自己完結的なパッケージです。
アプリケーションは複数のモジュールとして組織することが出来ます。
*
[
フィルター
](
structure-filters.md
)
:
コントローラが各リクエストを実際に処理する前後に
呼び出される必要があるコードを表現します。
*
[
フィルター
](
structure-filters.md
)
:
各リクエストが実際に処理される前と後に、コントローラから
呼び出される必要があるコードを表現します。
*
[
ウィジェット
](
structure-widgets.md
)
:
[
ビュー
](
structure-views.md
)
に埋め込むことが出来るオブジェクトです。コントローラのロジックを含むことが可能で、異なるビューで再利用することが出来ます。
下の図がアプリケーションの静的な構造を示すものです:
...
...
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