RadPHP XEの体験版を使ってみた。
RadPHP XEの起動直後の画面。
見慣れたC++Builderとほとんど同じ。
ちゃんと日本語化されている。
「新規プロジェクトの作成」をクリックしたところ。
RPCLアプリケーションを作成したところ。
C++Builderとほとんど同じ。
F6キーのIDEインサイトも健在。
操作感はC++Builderと同じ。
「「Delphi for PHP」クイックスタート」のコードをやってみることにする。
フォームに配置したコンポーネントをドラッグすると、
位置合わせのガイドが表示される。
IDEの使い勝手は、はC++Builderと同じと思ってよさそう。
ボタンのCaptionプロパティで表示する文字を変更する。
コンポーネントの配置完了。
Button1のOnClickイベントを生成する。
予想通り、Button1Click関数が作成される。
ここでトラブル発生。
「「Delphi for PHP」クイックスタート 」にある下のコードでは動作しなかった。
function Button1Click($sender, $params)
{
$this->ListBox1->Items[] = $this->Edit1->Text;
}
ヘルプを確認して、次のコードに直したら、動作した。
ヘルプ偉い。
function Button1Click($sender, $params)
{
//$this->ListBox1->Items[] = $this->Edit1->Text;
$this->ListBox1->AddItem($this->Edit1->Text);
}
実行ボタン(F9)で実行。
IDEに配置したとおりに、コンポーネントがブラウザ上に配置される。
プログラムの説明をしておくと、Button1をクリックするとEdit1に入力された文字がListBox1に追加される。
なお、ブレークポイントを設定して、ステップ実行できることはいうまでもない。
HTMLのソースコードを見ると、次のように「POSITION: absolute」で配置していた。
<div id="Edit1_outer" style="Z-INDEX: 0; LEFT: 14px; WIDTH: 185px; POSITION: absolute; TOP: 14px; HEIGHT: 21px">
フォームのEncodingは「Western European (ISO)|iso-8859-1」になっていた。
「Unicode (UTF-8)|utf-8」に変更する。
オブジェクトインスペクタを見ると、C++Builderには存在しないタブがあることに気がつく。
「Javascript」タブだ。
JavascriptのOnClickイベントを生成してみる。
Button1をクリックするとEdit1の内容が書き換わるように、コードを記述する。
function Button1JSClick($sender, $params)
{
?>
//begin js
document.getElementById('Edit1').value = 'ボタンが押されました。';
//end
<?php
}
おもしろいことに、JavascriptのコードもUnit1.phpに記述するようだ。
コードが一カ所にまとまるので、保守性が高そうだと感じた。
実行画面。
オブジェクトインスペクタを見ていると、TemplateEngineプロパティの存在に気づいた。
「SmartyTemplate」を発見。
テンプレートエンジン「Smarty」を使用することができるようだ。
「SmartyTemplate」を使ってみよう。
まずは、テンプレートファイルを用意する。
<html>
<head>
<title>My Template</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
{%$HeaderCode%}
{%$StartForm%}
{%$Edit1%}
{%$Button1%}<br />
{%$ListBox1%}
{%$EndForm%}
</body>
</html>
TemplateEngineプロパティは「SmartyTemplate」を選択、
TemplateFilenameプロパティは作成したテンプレートファイルを選択する。
実行すると、ページデザインがSmartyテンプレートを使用したものに変わった。
企業内で使うWebアプリケーションなら標準の絶対位置でコンポーネントを配置する方が便利かもしれない。
一般向けのWebアプリケーションならSmartyを使い、デザイナーと共同作業をした方がいいだろう。
この切り替えは、プロパティを変更するだけで簡単にできることがわかった。
作成したプログラムはどのようにしてサーバーに配置したらいいのだろうか。
メニューの「ツール」-「配布ウィザード」を使うと良さそうだ。
あとはウィザードの指示に従って、ファイルを保存するフォルダーを選択すると、できあがり。
フォルダーを見ると、大量のファイルが出力されていた。
smartyフォルダーの中が空っぽなのだが、これでいいのだろうか。
今回はここまで。
IDEは良くできている印象を受けた。
不可解な動作もなく、操作もわかりやすかった。
昔のWebアプリケーションはサーバーサイドでHTMLを出力していれば良かったが、
今時のWebアプリケーションはブラウザ上で複雑なUIの操作や、Ajaxによるブラウザとサーバーサイドの連携が欠かせない。
このようなWebアプリケーションの開発には、統合開発環境は力を発揮しそうだと思った。
今後はWebサーバーにアップロードして実際の実行速度の検証など、いろいろと試してみたい。
【送料無料】PHPで初めてドラッグ&ドロップ開発を実現した革新的なWeb開発環境RadPHP XE ESD … 価格:32,000円(税込、送料込) |