SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Delphi for PHP はじめの3歩(AD)

Delphi for PHP はじめの3歩 その1

Delphi for PHPでビジュアルPHPプログラミング

  • このエントリーをはてなブックマークに追加

Delphi for PHPは、Windows向けビジュアル開発ツールとして定評のあるDelphiの開発スタイルで、PHPによるWebアプリケーションを開発できるツールです。本稿では、3回シリーズでDelphi for PHPの基本的な使い方を紹介します。

  • このエントリーをはてなブックマークに追加

はじめに

 Delphi for PHPは、Windows向けビジュアル開発ツールとして定評のあるDelphiの開発スタイル、つまり、コンポーネントをドラッグ&ドロップ操作で配置し、プロパティとイベントを設定して開発するスタイルで、PHPによるWebアプリケーションを開発できるツールです。開発環境はWindows向けですが、作成したアプリケーションは、ピュアPHP 5で動作可能ですので、Linuxなど他の環境にも配布し、動作させることができます。

 本稿では、3回シリーズでDelphi for PHPの基本的な使い方を紹介します。Delphi for PHPのトライアル版は、CodeGearのWebサイトからダウンロードできますので、本稿を参照しながら試してみてください。

試用する前に「Delphi for PHPの現在」

 本稿執筆時点で、Delphi for PHPは、Update 2がリリースされ、多くのバグフィックスや国際化対応への作業が進んでいます。発売当初は、英語版ということで、日本語環境で使用する場合の問題も多くありましたが、いくつかのアップデートを重ねて、各国語環境で利用できるようになってきました。今後、UIの日本語化も待たれるところです。

 Delphi for PHPの最新情報は、CodeGearのWebサイトやCDNのPHPコミュニティ、また、CodeGearのブログなどを参照してください。

 Delphi for PHPで日本語アプリケーションを開発する場合には、いくつかの設定を行う必要があります。Update 2での設定については、以下の記事が参考になります。

Delphi for PHPのプロジェクト

 Delphi for PHPでは、プロジェクトという単位でアプリケーションを開発します。プロジェクトには、1つ以上のフォームがあります。フォームは、Webページの画面1つに相当します。

 フォームは、ユニットと呼ばれるPHPのコード(.php)と、ユニットと同じ名前で、「.xml.php」という拡張子を持つファイルで構成されます。「.xml.php」には、フォームで設定するプロパティが格納されており、言うなればフォームの画面設定情報を保存するファイルです。

Delphi for PHP - はじめの1歩「新規作成」

新規アプリケーションの作成

 では、簡単なアプリケーションを作成してみましょう。

 はじめに、[File]-[New]-[Application]で新規アプリケーションを作成します。IDEには、次のような設計画面(図1)が表示されます。

図1 新規アプリケーション
図1 新規アプリケーション

 画面右に表示されている[Tool Palette]に並んでいるのが、コンポーネントです。Standard、Additional、Data Accessなど、Delphiユーザーにはおなじみのカテゴリ別に、さまざまなコンポーネントが登録されています。

 これらのコンポーネントは、VCL for PHPというPHP 5によって記述されたコンポーネントで、DelphiのVCLコンポーネントとは互換性はありませんが、Delphiのそれと同じような機能、動作をPHPで実装したものと考えていいでしょう。ですから、DelphiやVisual Basicといった、WindowsのUI部品をマウス操作で配置していくスタイルの開発経験のある人ならば、すぐに始められると思います。

 さて、はじめの一歩では、Windowsアプリケーションなどではおなじみのボタンをクリックしてメッセージを表示するアプリケーションを作成します。この簡単なアプリケーション作成を通して、Delphi for PHPの開発の基本ステップを理解することができます。

オブジェクトインスペクタ

 画面設計を始める前に、1つだけやっておかなくてはならないことがあります。それは、ページの文字コード設定です。新しくプロジェクトを作成したときに、UIデザイナには、空のフォームが表示されています。このフォームの設定には画面左に表示されている「Object Inspector」を使います。

 ここでは、ページのエンコードをUTF-8に設定します。オブジェクトインスペクタで、Encodingというプロパティを探して、この値を「Unicode(UTF-8)」に変更します。

図2 Object Inspector
図2 Object Inspector

 オブジェクトインスペクタに表示されているプロパティは、選択したコンポーネントの属性です。はじめは、フォームを選択した状態になっているので、フォームのプロパティを表示していたわけです。

 このあと、コンポーネントを配置していきますが、配置したコンポーネントのプロパティも、同じようにObject Inspectorを使って設定します。

Delphi for PHP - はじめの1歩「レイアウト」

コンポーネントの配置

 では、画面設計を始めましょう。まず、[Tool Palette]から、マウスでButtonを選択して、設計画面上をクリックします。すると、「Button1」というボタンが配置されます。

図3 ボタンの配置
図3 ボタンの配置

 ボタンのキャプションや色などの外観を変更する場合も「プロパティ」を設定します。ここでは、Button1のCaptionプロパティを「押して下さい」に変更します。配置したButton1を選択した状態で、Object Inspectorを見てください。Button1のCaptionプロパティが、「Button1」に設定されています。これを「押して下さい」に変更して、[Enter]キーを押します。すると、設計画面上のボタンのキャプションも変わります。

図4 ボタンのキャプションの変更
図4 ボタンのキャプションの変更

 次に、メッセージを表示するラベルを配置します。[Tool Palette]から、Labelを選択して、設計画面に配置します。

図5 ラベルの配置
図5 ラベルの配置

 ラベルは、初期状態で何も表示しないようにしますから、Captionプロパティの文字列(Label1)を削除します。

Delphi for PHP - はじめの1歩「イベント」

イベントの設定

 次にボタンを押したときの動作を定義します。設計画面でボタンを選択して、[Object Inspector]の[Events]というタブをクリックします。ここには、ボタンの動作に対して、固有の処理を追加できるイベントがいくつも表示されています。

 使用できるイベントは以下のとおりです。

Buttonのイベント
イベント 説明
OnAfterShow ボタンを表示した後の処理を定義します
OnBeforeShow ボタンを表示する前の処理を定義します
OnClick ボタンをクリックしたときの処理を定義します
OnShow ボタンが表示されるときの処理を定義します

 ちなみに、Delphiなどを使用したことがある方は、イベントの数がちょっと少ないな、と思うかもしれません。Delphi for PHPで作成するアプリケーションは、Webアプリケーションですから、イベントの処理は、サーバへのリクエストとして実行されます。そのため、ボタンの上をマウスが通過したといったような細かい制御は含まれていません。こうした処理は、Javascriptイベントで定義します。Javascriptイベントは、文字通りJavascriptとして定義されるイベントで、Webブラウザ内で実行されます。

 ここでは、[Events]タブで、OnClickを選択します。右側の値列をダブルクリックすると、Button1Clickという関数が定義され、コードエディタが表示されます。

図6 イベントの設定
図6 イベントの設定

 ここに次のように入力します。

Button1Click
function Button1Click($sender, $params)
{
    $this->Label1->Caption = "ボタンがクリックされました";

}

Delphi for PHP - はじめの1歩「実行」

プログラムを実行する

 これで最初のプログラムは完成です。実行ボタンを押してアプリケーションを実行してみましょう。

図7 アプリケーションの実行
図7 アプリケーションの実行

 ボタンを押すと、「ボタンがクリックされました」とメッセージが表示されます。

図8 アプリケーションの実行
図8 アプリケーションの実行

デバッグ機能を使う

 めでたくメッセージが表示されればいいのですが、もしうまく動かない場合、迷宮に迷い込んでしまうかもしれません。というのは、PHPは動的言語であるため、あらかじめコンパイルエラーなどで、プログラミングミスを発見できないからです。Delphi for PHPの場合、コード入力支援機能などを使って、極力タイプミスをなくすことはできますが、万全ではないでしょう。その場合、デバッガの出番です。

 Delphi for PHPでは、実行メニューに[Run]と[Run Without Debugging]の2つがあります。[Run]を選択したときには、IDE内のデバッガを利用して、コードのトレースが可能になります。

 例えば、作成したButton1Clickにブレークポイントを設定するには、コードエディタで、停止させたいコード行の左マージンをクリックします。

図9 ブレークポイント
図9 ブレークポイント

 これで、ボタンをクリックするとプログラムが停止しますので、変数を調べたり、1行ずつステップ実行するなどの操作ができます。

はじめの1歩のまとめ

 ご覧いただいたようにDelphi for PHPは、非常に直感的な操作でWebアプリケーションを開発できます。記述するPHPのコードは最小限ですが、PHPが初めてという方は、PHP言語についても簡単に学習しておいた方がいいでしょう。しかし、Delphi for PHPなら、簡単にトライ&エラーを実践できますから、学習も楽しくなること請け合いです!

 次回はもう少し複雑なアプリケーションの作成にトライしてみましょう。

次の記事

 

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/2096 2008/08/20 13:35

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング