PHPマニュアル/PEARマニュアル | ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot

Hello World チュートリアル | JavaScript入門&応用&リファレンスなら「JavaScriptist」

  

プログラミング言語を習い始める時、最初のプログラムとしては、しばし ば、'hello world'プログラムを書くことになります。そこで、慣例に習い、 このマニュアルの最初のチュートリアルでも'hello world'チュートリアル を行います!

このチュートリアルでは、PHP自体に関してある程度理解していることを前 堤とします。チュートリアルは、ユーザにPHP-GTKそして、その背後にある 考え方と技術の使用方法に関するアイデアを与えることです。

このチュートリアルでは、シンプルなウインドウをを作成し、"Hello World!"と表示します。

まず、プログラムリストを示してから、プログラムの各行について説明し、 PHP-GTKアプリケーションの基礎の基礎について概要を示します。

最初の数行では、PHP-GTK拡張モジュールが利用可能かどうかのチェックを 行い、利用可能でない場合にはロードします。これは、それぞれ、 Windows及びLinuxにおいて、 dl('php_gtk.dll');または dl('php_gtk.so');命令により行われます。

delete_event()関数は、 "delete-event"シグナルのハンドラ(以下を参照) として登録されます。この関数は、falseを返し、 PHP-GTKにこのイベントのデフォルトのシグナルハンドラを破棄するよう通 知します。この場合、デフォルトのシグナルハンドラは、 destroy()メソッドです。 この関数がtrueを返した場合、PHP-GTKはここでデフォ ルトのシグナルハンドラの実行を中断する可能性があります。 例えば、ユーザがアプリケーションを閉じようとする際に確認を行うダイ アログボックスを表示するといったように、destroy()の代わりとなるユーザ定義関数 を書く必要がある場合には、知っておくと良いでしょう。

"delete-event"シグナルを destroy()メソッドに接続する ためには、必ずしもfalseを返す必要はありません。 これは、この特別なシグナルがデフォルトでfalseを 返すためです。"destroy"シグナルが正しく処理 される限り、あるウインドウの"delete-event" シグナルについて全く動作を指定しないことも可能です。

shutdown()関数は、 "destroy"シグナルのハンドラとして登録されま す。この関数は、コンソールに"Shutting down...\n"と出力し、この後、静的な関数 gtk::main_quit()をコールします。

hello()関数が、ボタンの "clicked"シグナルに関するハンドラとして登録 されています。この関数は、変数$windowをグローバ ル変数としています。これは、この後のスクリプトコードで作成した、 GtkWindow のインスタンスにアクセスできるよう にするためです。そして、コンソールにテキスト"Hello World"を出力した後、ウインドウでdestroy()メソッドをコールします。これ は、"destroy"シグナルを発生し、このシグナル は、shutdown()関数をコールします。

hello()関数が$window変数にア クセスできるようにするための他の方法は、 カスタムパラメータ として変数を渡すことです。

次の4行でウインドウ自体を設定します。まず、 GtkWindowのインスタンスを生成します。 これに成功した後、"destroy" シグナルのハンド ラとしてshutdown()関数、 "delete-event"シグナルのハンドラとして、 delete_event()関数を登録するために、 ウインドウからconnect() メソッドをコールします。最後に、 set_border_width()関数を コールし、作成したGtkWindowのインスタンスに 10ピクセル幅の境界線を設定します。

このスクリプトの3行のコードは、ボタンを生成し、設定します。 上のコードの最初の行では、GtkButtonウイジェッ トの新規インスタンスを生成します。コンストラクタへの引数は、ボタン に表示したいテキストです。この場合のテキストは、 "Hello World!"です。この後、 "clicked"シグナルのハンドラとして前に定義し たhello()関数を登録するために connect()メソッドをコールし ます。最後に、$windowに含まれる GtkContainerのメソッド add()をコールすることによ り、前に作成したウインドウにボタンを追加します。 この後、$windowに含まれるものを全て(そして、子ウ イジェットの$button) show_all()メソッ ドをコールすることにより、そして、 GtkWindowのインスタンスから表示します。

スクリプトの最後の行では、static関数 gtk::main()をコールします。これは、インターフェ イスの設定が終了したことと、前に定義したコールバック関数がコールさ れ、様々なアクションを行うためのユーザの相互作用により発生するイベ ントを監視するメインループを開始することができることを通知します。

忘却曲線を使ってこの知識を確実に記憶に残す

フォーラムで「Hello World チュートリアル」について話す
各種マニュアル: PHPマニュアル | PEARマニュアル | Smarty(英語)マニュアル | PHP-GTKマニュアル | Hello World チュートリアル」をGoogle検索
copyright © 1997-2024 PHP ドキュメント作成グループ(ライセンス). provided by php spot. マニュアル: