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. |