僕はもともと、Delphiの技術者でそこからPHP技術者になりました。
もはや、Web系のアプリケーションの開発に夢中なので、Delphiをいじることは少なくなりましたが、ちょっと前に、Delphi For PHPという統合開発環境が発売されたようなので、Object Pascalじゃなくて、Delphiって言語の名前って誰か中の人いってたよなーとおもいつつ、軽く触ってみました。
まず、Delphi For PHPは、Delphiと同じようにその言語の開発環境というだけではなく、フレームワーク的なものを内包しています。
Delphiでは、WindowsアプリケーションをIDEでぺたぺた貼り付けて開発するためにVCL(Visual Component Library)というライブラリがありますが、Delphi For PHPにもVCL For PHPというものが準備されているようです。
こういうのが、準備されているおかげで、Delphi for PHPの概要(英語)のビデオにあるような、本当にPHPで動いているのかわからないような開発方法で開発ができるようになるようです。
「なようです」、とかいってるのもアレなので、とりあえず、使ってみたいと思います。
WS000001 posted by (C)フォト蔵
とりあえず、Hello PHPとかいて実行してみました。
WS000002 posted by (C)フォト蔵
とりあえず、なんか動きました。
で、まず最初に気になったこういうIDEでいわれる出力されるHTMLソースがどうかというあたりですが、こんな感じでした。
<!-- Unit1 begin --> <html > <head> <script type=&text/javascript& src=&/vcl-bin/js/common.js&></script> <title>Unit1</title> <meta http-equiv=&Content-Type& content=&text/html; charset=euc-jp& /> </head> <body style=& margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; & > <form style=&margin-bottom: 0& id=&Unit1& name=&Unit1& method=&post& action=&/sample1.php&> <table width=&800& style=&height:600px& border=&0& cellpadding=&0& cellspacing=&0& ><tr><td valign=&top&> <div id=&Label1_outer& style=&Z-INDEX: 0; LEFT: 104px; WIDTH: 75px; POSITION: absolute; TOP: 49px; HEIGHT: 13px&> <div id=&Label1& style=& font-family: Verdana; font-size: 10px; height:13px;width:75px;& >Hello Delphi</div> </div> </td></tr></table> </form></body> </html> <!-- Unit1 end -->
ちなみに、ここまでの作業は、Delphi For PHPをインストールするだけで、Webサーバの立ち上げまでやってくれるので、他に別途作業する必要はありませんでした。
もちろん、Delphiの名を冠しているだけあって、ステップ実行も可能です。これには、DBGというPHPのエクステンションを利用しているようです。
ちなみに、出来上がったPHPファイルを見てみると。
保存したファイル名のものとなにやら、PHPのふりをしたフォームの情報が入ったXMLファイルが出来上がっており、これを、Webサーバに配置して、VCL For PHPにファイルにパスを通してやれば、既存のApache上でも動きそうな気がします。
さて、本来は、Delphi For PHPの売りであると予測される、DB接続なども紹介したいのですが(ビデオ見た限りはそこらへんがとても変態的でよかった)、とりあえず、触ってみたといいたかっただけで、それ以上の情熱は今の所わかなかったので、何か思い立ったら詳しくつっこみたいとおもいます。
個人的な結論として、ちゃんと使えば、Accessなどと同じようなレベルで社内Webサーバに配置して配布せずに、社内アプリケーションとして用意するのには使えるかもしれないとおもいました。
が、すでにPHPをやっていて、ばりばりフレームワークを使って開発しているような人たちに必要かといわれると、住み分けが大切だと思いました。
もし、ご興味が湧きましたら、フル機能あるトライアル版がありますので、そちらを試してみてはいかがでしょうか。