Entries

スポンサーサイト

カテゴリ:スポンサー広告
更新日:--------
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[Delphi for PHP] 自分なりのテクニック

カテゴリ:RadPHP(Delphi for PHP)
更新日:2009-07-11
Delphi for PHPも、細かいところもわかってきて、自分なりの書き方というのができてきた。今回は、そのうちのいくつかを紹介する。まぁ、たいしたものじゃないけれど。

デバッグには、Google Chrome

デバックの関係か、セッションの関係か、ソースを修正した場合、ブラウザを閉じないと更新が反映されない。なので、開発中は、頻繁にブラウザを起動、終了することになる。というわけで、デバッグ中は、起動が早いとうわさのGoogle Chromeを標準ブラウザに設定している。JavaScriptのデバッグができるのも便利。

デバッグとは別に、Firefoxも常時起動している。開発中の課題や仕様書などは、以前に紹介したバックログというWebサービスを利用しているし、よくわからないことが発生したら、まずは検索。頻繁に閉じることになるブラウザで開いていると、再表示が面倒ということになるので、デバッグとは別のブラウザも必要というわけ。ブラウザの種類が複数あってよかった、よかった。

エンターキーの動作

これは、VCL for PHPというよりは、Qooxdoo由来の機能だと思うけれど、Editにカーソルがある時には、ButtonコンポーネントのButtonTypeプロパティが「btSubmit」に設定されている機能が実行される。「btNormal」にすれば反応しないので、ボタンを配置したときには、まずこのプロパティを修正しておく。これで、予想外の動作が減る。

サブミットボタンがひとつもないと、ページのリロードが発生して入力中の内容が消えてしまうので、ひとつは作っておく必要がある。DBへの保存と、サーバー側での入力値チェックをするようにしているけれど、名称を何にするのかで悩んでいる・・・

デザイン

D4PHPは、コンポーネントをドラッグ&ドロップするだけでページのデザインができる。Delphiを冠する以上、当たり前といえば当たり前のことだけれど、これでPHPで動くWebサービスができるというのは違和感があって面白い。IDEのフォームエディッタでは、ガイドラインも表示されて、位置を合わせるのも簡単である。HTMLとCSSで、位置合わせに苦労している人には、朗報じゃなかろうか?

とはいえ、これが少し面倒な時もある。HTMLタグを書けば、ブラウザがある程度自由に表示してくれる、というのは開発者的にはWWWの利点なんだよね。というわけで、折衷案。

  1. フォームのStyle > Typeプロパティを「FLOW_LAYOUT」にする。これで、フォームに配置したコンポーネントは、ブラウザによって位置が決定されるようになる。
  2. フォームには、Panelコンポーネントを配置する。PanelのStyle > Typeプロパティは、「XY_LAYOUT」にする。これで、パネルに配置したコンポーネントは、IDEでデザインしたとおりに表示される。

これで、パネルの位置はブラウザに任せて、パネルの中は自分でデザインできる。表示したい内容をブロックに分けてパネルにすることで、おおまかにページ全体のデザインをして、意識して位置を合わせたいところは、パネル内でちゃんとできる。

パネル内の位置合わせも、適当にやってほしいときには、パネルのOnShowイベントでHTMLタグを出力するようにすればいい。コンポーネントは使えないけれど、表示だけなら、この方が楽なときもある。

注意点としては、パネルのStyle > Typeプロパティで指定した「XY_LAYOUT」。これは、コンポーネントが重なっていると、表示されなくなってしまうらしい。HiddenFieldが重なっていても駄目で、ちょっとはまった。

あと、パネルの順番は、IDEの表示どおりにはならず、構造ウィンドウで表示されている順序になるようだ。順序は、パネルの右クリック・メニュー>コントロールの「前面に移動」、「背面に移動」で調整することができる。構造ウィンドウの内容がリアルタイムで変更されないけれど・・・

過去の記事

>D4PHP、いろいろ・・・ (2009-06-30)
>「Delphi for PHP」を買いました(2009-03-19)





スポンサーサイト

Appendix

プロフィール

いむら@fintopo いむら@fintopo

フリーのシステムエンジニア兼プログラマです。趣味はガーデニングとカメラ。2017年4月にα7IIを買いました。フルサイズ一眼初心者です。

このページのQRコード

季節暦

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。