:orphan: 用語集 ======== .. 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ディレクトリの使い方 `\ も参照してください。 Acme *Acme* は、Symfonyのデモやドキュメントで使われるサンプルの企業名です。 たとえば ``Acme\BlogBundle`` のように名前空間で企業名をいれるような場所で使われます。 アクション *アクション*\ はPHPの関数またはメソッドで、たとえば指定されたルートにマッチした場合に実行されます。 アクションは *コントローラ* と同義語ですが、通常コントローラは複数のアクションを含む1つのPHPクラス全体を指します。 :doc:`コントローラの章 `\ も参照してください。 アセット *アセット*\ とは、実行形式のファイルではない、Webアプリケーションの静的コンポーネントで、たとえばCSS、JavaScript、画像や動画などです。 アセットはプロジェクトの ``web`` ディレクトリに直接配置するか、\ ``assets:install`` コンソールタスクを使って :term:`バンドル` からWebディレクトリへパブリッシュします。 カーネル *カーネル*\ は、Symfony2のコアです。 カーネルオブジェクトは、登録されたすべてのバンドルとライブラリを使ってHTTPリクエストを処理します。 :ref:`アーキテクチャ:アプリケーションディレクトリ `\ および\ :doc:`/book/internals`\ の章を参照してください。 ファイアウォール Symfony2では、\ *ファイアウォール*\ はネットワークとは関係ありません。 その代わり、たとえばユーザーIDを識別する処理といった、アプリケーション全体またはその一部に対する認証機構を定義します。 :doc:`/book/security`\ の章を参照してください。 YAML *YAML* は "YAML Ain't a Markup Language" の頭文字をとった言葉です。 軽量で人が読みやすいデータ記述言語で、Symfony2のコンフィギュレーションファイルで多く使われています。 :doc:`/components/yaml` の章を参照してください。 .. _`サービス指向アーキテクチャ`: http://wikipedia.org/wiki/Service-oriented_architecture .. _`WikipediaのHTTP`: http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol .. _`HTTP 1.1 RFC`: http://www.w3.org/Protocols/rfc2616/rfc2616.html .. 2012/01/09 hidenorigoto c2d9890d465e764b2b427126a7f8348f6b1cc3e2