S2Containerを使用するためには、定義ファイルを作成する必要があります。 定義ファイルは、コンポーネントを組み立てるための設計書のようなものです。 定義ファイルの拡張子は .dicon、または .xml です。diconは「ダイコン」と読みます。
ダイコンファイルでのS2Containerの定義は次のようになります。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE components PUBLIC "-//SEASAR2.1//DTD S2Container//EN" "http://www.seasar.org/dtd/components21.dtd"> <components> <component name="..." class="..."> ... </component> <component name="..." class="..."> ... </component> </components>
DOCTYPEは省略できません。diconファイルを作成する場合は、上記のサンプルをコピー&ペーストしてください。 ルートはcomponentsタグです。コンポーネントごとに、 componentタグを定義していきます。 componentタグの class属性でコンポーネントのクラス名を指定します。name属性にはコンポーネント名を指定します。 詳細は、S2Container定義タグリファレンスを参照してください。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE components PUBLIC "-//SEASAR2.1//DTD S2Container//EN" "http://www.seasar.org/dtd/components21.dtd"> <components> <component name="action" class="IndexAction"/> </components>
S2ContainerFactoryのcreateメソッドを用いて、ダイコンファイルからS2Containerを生成します。
/** * @param string $path */ S2ContainerFactory::create($path)
- 第1引数 : ダイコンファイルへのパス
次のように、ダイコンファイルのパスを指定してS2Containerを生成します。
<?php require_once('S2Container/S2Container.php'); $PATH = "path/to/ccc.dicon"; $container = seasar\container\factory\S2ContainerFactory::create($PATH); ・・・
© Copyright The Seasar Foundation and the others 2005-2010, all rights reserved. |