.. glossary::
:sorted:
ディストリビューション
*ディストリビューション*\ は、Symfony2コンポーネント、選りすぐりのバンドル、使いやすいディレクトリ構造とデフォルトのコンフィギュレーション、およびオプションのコンフィギュレーションシステムなどがまとめられたパッケージです。
プロジェクト
*プロジェクト*\ は、アプリケーションやバンドル、ベンダーライブラリ、
オートローダー、Webフロントコントローラーが格納されているディレクトリです。
アプリケーション
*アプリケーション*\ は、指定されたバンドル一式に対する *コンフィギュレーション*
の内容が格納されているディレクトリです。
バンドル
*バンドル*\ は、ひとつのフィーチャー(ブログ、フォーム、...)を\ *実装*\ する
ために必要なファイル(PHPファイル、スタイルシート、JavaScript、画像、...)を
1セットとして構造化したもので、他の開発者と容易に共有することもできます。
フロントコントローラ
*フロントコントローラ*\ とは、プロジェクトのWebディレクトリにある小さなPHPファイルです。
通常、フロントコントローラはSymfonyアプリケーションの起動を行い、\ *すべての*\ リクエストは同一のフロントコントローラでハンドルされます。
コントローラ
*コントローラ*\ は、特定のページを表現する ``Response`` オブジェクトを返すのに必要なすべてのロジックが記述される PHP コードです。
通常、ルートがコントローラにマップされ、コントローラ内で処理するためにリクエストから情報が取り出され、アクションが実行され、最終的に ``Response`` オブジェクトが組み立てられ返されます。
サービス
*サービス*\ は一般用語で、特定のタスクを処理するPHPオブジェクトを指します。
サービスは、通常 "グローバル" に使われます。たとえば、データベースオブジェクトやメールメッセージを配信するオブジェクトなどがそうです。
Symfony2では、サービスコンテナを使ってサービスのコンフィギュレーションとサービスの取得が行われます。
結合度の低い多くのサービスで構成されたアプリケーションは、\ `サービス指向アーキテクチャ`_\ に従っていると言えます。
サービスコンテナ
*サービスコンテナ*\ は、\ *DIコンテナ*\ とも呼ばれ、アプリケーションの内部でサービスのインスタンス化を管理する特別なオブジェクトです。
サービスを直接インスタンス化する代わりに、サービスのインスタンス化手順をサービスコンテナへ\ *教えます* (コンフィギュレーションを使います)。
サービスコンテナによりサービスが必要になった時点でインスタンス化され、依存するサービスの注入が自動的に行われます。
:doc:`/book/service_container` を参照してください。
HTTP 仕様
*HTTP 仕様*\ は、Hypertext Transfer Protocol - 古典的なクライアントサーバー型のリクエストとレスポンスの通信に関する一連のルールを記載したドキュメントです。
仕様には、リクエストとレスポンスのフォーマットや、それぞれに付加されるHTTPヘッダーが定義されています。
詳細は、\ `WikipediaのHTTP`_\ の記事か、\ `HTTP 1.1 RFC`_\ を参照してください。
環境
環境とは、特定のコンフィギュレーションセットを指す文字列で、たとえば ``prod`` や ``dev`` などがあります。
特定のコンピュータ上の1つのアプリケーションを複数のコンフィギュレーションで実行したい場合は、異なる環境を使ってアプリケーションを実行します。
これにより、単一のアプリケーションでデバッグ用に ``dev`` 環境、プロダクション向けに最適化された ``prod`` と使い分けることができます。
ベンダー
*ベンダー*\ とは、Symfony2も含めたPHPのライブラリやバンドルの提供者のことです。
言葉の本来の意味とは関係なく、Symfonyでは通常、vendorにフリーソフトウェアが含まれています。
Symfony2プロジェクトにライブラリを追加する場合は、必ず ``vendor`` ディレクトリ配下へ格納してください。
:ref:`アーキテクチャ: vendorディレクトリの使い方 <using-vendors>`\ も参照してください。
Acme
*Acme* は、Symfonyのデモやドキュメントで使われるサンプルの企業名です。
たとえば ``Acme\BlogBundle`` のように名前空間で企業名をいれるような場所で使われます。
アクション
*アクション*\ はPHPの関数またはメソッドで、たとえば指定されたルートにマッチした場合に実行されます。
アクションは *コントローラ* と同義語ですが、通常コントローラは複数のアクションを含む1つのPHPクラス全体を指します。
:doc:`コントローラの章 </book/controller>`\ も参照してください。
アセット
*アセット*\ とは、実行形式のファイルではない、Webアプリケーションの静的コンポーネントで、たとえばCSS、JavaScript、画像や動画などです。
アセットはプロジェクトの ``web`` ディレクトリに直接配置するか、\ ``assets:install`` コンソールタスクを使って :term:`バンドル` からWebディレクトリへパブリッシュします。
カーネル
*カーネル*\ は、Symfony2のコアです。
カーネルオブジェクトは、登録されたすべてのバンドルとライブラリを使ってHTTPリクエストを処理します。
:ref:`アーキテクチャ:アプリケーションディレクトリ <the-app-dir>`\ および\ :doc:`/book/internals`\ の章を参照してください。
ファイアウォール
Symfony2では、\ *ファイアウォール*\ はネットワークとは関係ありません。
その代わり、たとえばユーザーIDを識別する処理といった、アプリケーション全体またはその一部に対する認証機構を定義します。
:doc:`/book/security`\ の章を参照してください。
YAML
*YAML* は "YAML Ain't a Markup Language" の頭文字をとった言葉です。
軽量で人が読みやすいデータ記述言語で、Symfony2のコンフィギュレーションファイルで多く使われています。
:doc:`/components/yaml` の章を参照してください。