環境: W2k+php4.3.1+php/gtk0.5.2
簡単なメモ帳 (変更のために開くことができるのはファイルのみです)
set_time_limit (0) // 実行時間を設定します
if (!class_exists; ("gtk")) // GTK モジュールがあるかどうかを判断します
if (strtoupper (substr ($_SERVER["OS"], 0, 3)) == "WIN")
dl ("php_gtk.dll") ;
Else
dl ("pHP_GTK.SO");
$ window = & new gtkwindow (); // ウィンドウを作成します
$ Window- & GT_UPOSITION (100, 100);
$ window-> set_usize ((gdk::screen_width()-200), (gdk::screen_height()-150)); // ウィンドウサイズ
$window->set_title ("WINDOWS"); / ウィンドウタイトルを設定
$window ->connect_object ('destroy', array ('gtk', 'main_quit')) // ウィンドウイベントを登録
$vbox = &new GtkVBox (); );
$window- >add ($vbox);
$menuBar = &new GtkMenuBar (); // メニューを作成します
$vbox->pack_start ($menuBar, false, false, 0);
$ file = &new GtkMenuItem (" File");
$menuBar->append ($file);
$fileMenu = &new GtkMenu ();
$open = &new GtkMenuItem ("Open");
$save = &new GtkMenuItem ("保存");
$line = &new GtkMenuItem ();
$line->set_sensitive (true);
$exit = &new GtkMenuItem ("終了");
$fileMenu->append ($open);
$open-> connect_object('activate', 'showFileSelection'); );
$fileMenu->append ($exit);
$exit->connect_object ('activate', array ('gtk', ' main_quit'));
$file->set_submenu ($fileMenu) ;
$scroll = &new GtkScrolledWindow ();
$scroll->set_border_width (8);
$scroll->set_policy (GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC) );
$hbox->pack_start ($scroll, true, true, 0);
$vbox->pack_start ($hbox, true, true, 1);
$text = &new GtkText ();
$ text->set_editable (true);
$text->set_word_wrap ( true);
$scroll->add ($text);
function showFileSelection () // ファイル選択関数
{
$file = &new GtkFileSelection ("ファイル選択");
$ok_button = $file->ok_button;
$ok_button->connect ('clicked', 'openFile', $file);
$ok_button->connect_object ('clicked' , array ($file, 'destroy'));
$cancel_button = $ file->cancel_button;
$cancel_button->connect_object ('clicked', array ($file, 'destroy'));
$file- >show ();
}
$filePath = null;
function openFile ($button, $f) //ファイルを開く関数
{
GLOBAL $text, $save, $filePath;
$filePath = $ f->get_filename ();
if (is_file ($filePath))
{
$fp = fopen ($filePath, 'r'); ' s use - $str .= out out off out out out out out out out out ''s' 以下の Stu にサービスを提供します ‐ ‐ ‐‐‐‐‐‐ null, $str);
fclose ($fp);
return $filePath ;
}
}
function saveFile () // ファイルを保存する関数
{
GLOBAL $filePath, $text;
if (is_file ($ filePath))
fp);
}
return;
}
$window->show_all (); // 显示窗体内的所有控件
gtk::main (); // 最重要的一句,不可少的
?>
附:php/gtk配置
実践 PHP/GTK (再掲)
Diao Yan 公開日 2002-2-19 15:25 PHP プログラミング←ページに戻る
以前は、PHP はサーバーサイド CGI プログラムを作成するためにのみ使用されると考えられていました。 PHP で Windows GUI (グラフィカル ユーザー インターフェイス) プログラムを開発できるとしたら、あなたはそれを信じますか?最近、PHP 開発チームは、Windows 上で GUI プログラムを開発できるように、GTK+ にバンドルされた PHP の開発に成功しました。
1. PHP/GTK オペレーティング環境を確立します:
実際、GUI プログラムと通常の PHPCGI プログラムの間に違いはありません。PHP/GTK プログラムは GUI インターフェイスを生成するために GTK クラスを使用するという点だけです。 PHP の作成ウィンドウを解析します。 PHP デバッグ環境をすでに確立している場合は、PHP/GTK 環境をインストールするのは比較的簡単です:
1. php_gtk.dll (この DLL ファイルは、PHP ソース プログラム内の GTK コードを解析するために使用されます) をダウンロードし、抽出します。 PHP の拡張機能ディレクトリにダウンロード後、「Extensions」の一番下に「extension=php_gtk.dll」という記述を追加します。確立された PHP 動作環境の変更や無効化を避けるために、まず php.ini をバックアップすることをお勧めします。
これでPHP/GTKの動作環境が構築されました。もちろん、2 番目の手順をスキップして、各 PHP/GTK プログラム ソース コードの最初の行に「dl('php_gtk.dll')」を追加して、GTK サポートを動的にロードすることもできます。
PHP 実行環境をセットアップしていない場合は、インストールは簡単です。 1. PHP/GTK バンドル サポート パッケージ全体をダウンロードし、C ドライブの PHP4 ディレクトリに解凍します。 2. Winnt を変更します。 dll ファイルを Windows の system32 ディレクトリにコピーし、php.ini ファイルを Windows ディレクトリにコピーします。
PHP/GTK 操作を確立した後、PHP をコマンド ライン モードで使用して PHP/GTK プログラムを実行できます。 「c:php4php -q gtkprogrampath」と入力します。「c:php4php」は PHP.EXE のパスに変更され、「gtkprogrampath」は PHP/GTK プログラムのパスです。たとえば、「c:php4php -q c:php4sampleshello.php」と指定すると、PHP/GTK ランタイム パッケージに含まれるサンプル「hello world」プログラムが実行されます。
2. PHP/GTK プログラムをコンパイルする:
PHP/GTK アプリケーションを作成し、実行する前に相手のコンピューターで PHP オペレーティング環境をセットアップし、PHP コマンド ライン モードを使用して解析する必要がある場合は、複雑すぎます。では、PHP/GTK プログラムをコンパイルするにはどうすればよいでしょうか?いくつか検索した結果、著者は PHPCompiler というソフトウェアを発見しました。
PHPCompiler は www.deskcode.com (http://www.deskcode.com/phpcompiler) によって開発されており、PHP をコンパイルして EXE 実行可能ファイルにすることができます。 GTK プログラムを使用するには、PHP/GTK オペレーティング環境を確立する必要があります (前の手順を参照)。 PHP/GTK プログラムをコンパイルする手順は次のとおりです:
1. PHPCompiler を開き (図を参照)、「スクリプト先」でコンパイルする PHP プログラムのソース コードを選択し、正常にコンパイルされたファイルへのパスを選択します。 「Destination」にある EXE ファイル
2. 「Compile」ボタンをクリックすると、使用するコンパイル モードを尋ねるダイアログ ボックスが表示されます (PHP/GTK プログラムの場合は、「いいえ」を選択します)。プログラム、はいを選択します);
3. コンパイルされた EXE ファイルのディレクトリに php4ts.dll ファイルをコピーするかどうかを尋ねるダイアログ ボックスが表示されます。
上記の手順の後、PHP/GTK プログラムは正常にコンパイルされますが、PHP/GTK プログラムをコンパイルするときに注意すべき点がいくつかあります。
1. コンパイルされた実行可能ファイルを実行する必要がある場合は、次のことを行う必要があります。 PC にインストールされている GTK オペレーティング環境に必要ないくつかの dll ファイル (以前にダウンロードしたもの) が含まれています。アプリケーションを作成する必要がある場合は、インストール中にいくつかの dll ファイルを system32 ディレクトリにコピーできます (ただし、サブルーチンは "グリーン ソフトウェア」^_^)。
2. PHPCompiler 自体は PHP のサポートが非常に優れていますが、「gzopen」などの拡張サポートが必要な一部の関数を使用しようとした人もいますが、コンパイル前は問題なく動作していましたが、コンパイル後には使用できなくなりました。実際、コンパイルされた実行可能ファイルはデフォルトの PHP サポートにのみ相当します (GTK サポートは含まれません)。そのため、拡張サポートを必要とする関数がプログラムに適用されている場合は、その関数をサポートする DLL ファイルを動的にロードする必要があります。コンパイル完了後にエラーが発生しないように、「dl('php_gtk.dll')」としてください。
3. コンパイルされた実行可能ファイルを実行すると、最初に DOS ウィンドウが表示され、その後自動的に閉じます。各 GUI ウィンドウは GTK によって「描画」されるため、そのウィンドウが存在する必要があります。
4. 以前は PHP は真の OOP (オブジェクト指向プログラミング) 言語とは言えなかったかもしれませんが、PHP/GTK では、強力な OOP スキルがなければ、あらゆるウィンドウを GTK オブジェクトによって「描画」することは困難です。 GUIプログラムを書きます。
3. PHP/GTK リソース:
1. http://gtk.php.net: PHP/GTK の公式 Web サイトですが、確かに非常にシンプルです。 、ほとんど何も役に立ちません。
2. http://www.phpgtk.com: より優れたインターフェイスと最新バージョン情報を備えた PHP/GTK Web サイト。
3. http://developer.gnome.org/doc/API/gtk/gtkobjects.html: PHP/GTK 関数とクラスの総合/マニュアル Web サイト。豊富な PHP/GTK 情報が含まれています。
4. http://www.phpuk.org/gtk/: GTK マニュアル Web サイトの非公式版。シンプルでわかりやすい。
電子テキストが醜いと思う場合は、zphp.com にアクセスして、最新の PHP/GTK オペレーティング環境とサポート パッケージをダウンロードすることもできます。