RadPHP XE レビュー

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サーバーにアップロードして実際の実行速度の検証など、いろいろと試してみたい。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください