今日のWebセミナーで学んだRadPHP XEの3つのデザイン方法。
一つ目はDelphiライクな通常の方法。
任意の場所にコンポーネントを配置できる。
二つ目はASP.NETライクな方法。
HTMLファイルの中にコンポーネントを表す独自のタグが入る。
フォームを作成するときに「テンプレートフォーム」を選択する。
<html>
<head>
<title></title>
</head>
<body>
<p>
<edit:php id="Edit1" style="z-index: 1000; width: 121px; height: 21px" ></edit:php>
<button:php id="Button1" style="z-index: 1001; width: 75px; height: 25px" ></button:php><br />
<googlemap:php id="GoogleMap1" style="z-index: 1002; width: 400px; height: 300px" ></googlemap:php>
</p>
</body>
</html>
三つ目はSmartyテンプレートエンジンを使用する方法。
通常のフォームを作成し、フォームのTemplateEngineプロパティを「SmartyTemplate」にして、TemplateFilenameプロパティにテンプレートファイルのファイル名を設定する。
フォームに配置したコンポーネントの場所は、作成されるページに影響を与えない。
テンプレートファイルのルールとして、{%$StartForm%}と{%$EndForm%}ではさむこと。
コンポーネントは{%$コンポーネント名%}(例:Edit1の場合は{%$Edit1%})になる。
<html>
<head>
</head>
<body>
{%$StartForm%}
{%$Edit1%}
{%$Button1%}<br>
{%$GoogleMap1%}
{%$EndForm%}
</body>
</html>
参考:Team Japan » VCL for PHP と Smarty との連携
ASP.NETライクな方法は、魅力を感じない。
必要に応じてDelphiライクな方法とSmartyテンプレートエンジンを使用する方法を使い分けるのが効果的だと思った。