ホームページ バックエンド開発 PHPチュートリアル PHPを使用したWindowsラウンドデスクトップアプリケーションの開発例

PHPを使用したWindowsラウンドデスクトップアプリケーションの開発例

Jun 13, 2016 pm 01:03 PM
gtk nbsp php windows

PHP を使用した Windows デスクトップ アプリケーションの開発例


PHP_GTK2.0 デスクトップ アプリケーションの開発

php gtk 公式サイト

http://gtk.php.net/

gtk には中国語の公式マニュアルがあります。具体的なインストールについては、マニュアル

を参照してください。 より簡単な方法は、gnope

という別のソフトウェアを使用することです。 ダウンロードアドレス: http://www.gnope.org/download.php

インストールプロセスは非常に簡単です。インストール後、デスクトップに PHP-Gtk2 アプリケーションのショートカット アイコンが表示されます

。 アイコンをダブルクリックすると、PHP デスクトップ プログラムが表示され、すべてのデモ、コントロール デモンストレーション、およびゲーム (インストール中にゲームのインストールを選択した場合) がリストされます

アプリケーションの詳細な説明:
http://www.16ec.com/tp15/site/index.php および http://blog.csdn.net/zhangking/archive/2010/08/20/5825416.aspx

これらのプログラムを見たら、自分でデスクトップ アプリケーションを作成したくなるでしょう

簡単なログイン手順は次のとおりです:

?

<?php
if (!class_exists(‘gtk’)) {
     die("lease load the php-gtk2 module in your php.ini\r\n");
}
function login(GtkWindow $wnd, GtkEntry $txtUsername, GtkEntry $txtPassword)
{
    $strUsername = $txtUsername->get_text();
    $strPassword = $txtPassword->get_text();
    $errors = null;
    if (strlen($strUsername) == 0) {
        $errors .= "Username is missing.\r\n";
    }
    if (strlen($strPassword) == 0) {
        $errors .= "No password given.\r\n";
    }
    if ($errors !== null) {
        $dialog = new GtkMessageDialog($wnd, Gtk::DIALOG_MODAL,
            Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, $errors);
        $dialog->set_markup(
            "The following errors occured:\r\n"
            . "<span foreground=’red’>" . $errors . "</span>"
        );
        $dialog->run();
        $dialog->destroy();
    }
else {
        $wnd->destroy();
    }
}
$wnd = new GtkWindow();
$wnd->set_title(‘Login’);
$wnd->connect_simple(‘destroy’, array(‘gtk’, ‘main_quit’));
$txtUsername = new GtkEntry();
$txtPassword = new GtkEntry();
$lblUsername = new GtkLabel(‘_Username’,true);
$lblPassword = new GtkLabel(‘_Password’,true);
$btnLogin = new GtkButton(‘_Login’);
$btnCancel = new GtkButton(‘_Cancel’);
$lblUsername->set_mnemonic_widget($txtUsername);
$lblPassword->set_mnemonic_widget($txtPassword);
$btnCancel->connect_simple(‘clicked’,array($wnd,’destroy’));
$btnLogin->connect_simple(‘clicked’,'login’,$wnd,$txtUsername,$txtPassword);
$tbl = new GtkTable(3,2);
$tbl->attach($lblCredit,0,2,0,1);
$tbl->attach($lblUsername,0,1,1,2);
$tbl->attach($txtUsername,1,2,1,2);
$tbl->attach($lblPassword,0,1,2,3);
$tbl->attach($txtPassword,1,2,2,3);
$bbox = new GtkHButtonBox();
$bbox->set_layout(Gtk::BUTTONBOX_EDGE);
$bbox->add($btnLogin);
$bbox->add($btnCancel);
$vbox = new GtkVBox();
$vbox->pack_start($tbl);
$vbox->pack_start($bbox);
$wnd->add($vbox);
//$lblHello = new GtkLabel("This is my first php talbe application\nhaha");
//$wnd->add($lblHello);
$wnd->show_all();
Gtk::main();
?>
ログイン後にコピー

?

Windows Gnope を使用してインストールする

Gnope を使用する Windows の場合 PHP-GTK 2 のインストールとメンテナンス ほぼ最も簡単な方法であることが証明されています。 グノープ 完全に機能します PHP-GTK 2 PHP 5.1 を含むインストール パッケージ 、GTK 2.6 そして 。 マウスを数回クリックするだけでインストールできます。

gnope.org からダウンロードするだけです インストール パッケージをダウンロードし、画面上の指示に従います。 グノープ 独自の PEAR もあります ダウンロードできる自動インストール チャネル PHP-GTK 2 公式 PEAR にプログラムを追加しました バッグの中。 たとえばGtk2 カテゴリから

手動インストール

から PHP-GTK 2 ダウンロード ページのダウンロード PHP-GTK 2 Windows アルファ バージョンバイナリ配布パッケージ。ファイルを指定したディレクトリに解凍します。 php-gtk という名前のもの ディストリビューションのすべてのコンテンツを含むディレクトリが作成されます。

必要なのは php.exe (CLI バージョン) と php5ts.dll 、どちらも PHP 5 から利用可能 Windows ディストリビューションから取得し、 php-gtk に配置します。 目次。これを使用したい場合は php.exe 他の拡張機能の場合は、バイナリがここに保存されていることを確認してください。

その後、環境変数 PATH を設定する必要があります 配布パッケージには gtk+2.6.9 が含まれています 目次。 バッチ ファイル gtkpath.bat を作成することもできます。 実行時に適切な PATH を設定します 変数は、現在のコマンド ライン セッション内で使用されます。

CVS より をコンパイルします

これは Windows にのみ含まれています PHP-GTK 2 をインストールします 最も重要なステップ。さらに詳しく知りたい場合は、 CVS からダウンロードしてください。 win32/README.win32.txt を入手 そして読んでください。

出典: http://gtk.php.net/manual/zh_cn/html/tutorials/tutorials.installation.windows.html

=============
WinBinder
phper にしましょう ウィンドウにあります システム開発デスクトップソフトウェア

WinBinder はオープンソース PHP です 動的拡張子(.dll) 、スクリプト プログラミング言語 php とも見なされます。 内 ユーザーインターフェイスUIを提供する開発 、ウィンドウの呼び出しを担当します API インタフェース。 PHP が実行されます プログラマーは PHP を簡単に使用できます ウィンドウ を作成します アプリ。もちろん、これは Windows でのみ使用できます。 下を走る。ソフトウェア自体、php プログラマーはこのソフトウェアを通じてインターフェースを開発できます。公式ウェブサイトには、php. をコンパイルする必要はない、とよく書かれています。 拡張子 .phpw を付けてファイルを保存するだけです。 次に、 php.exe を使用します。 それを開いて実行するだけです。具体的な開発についてどう感じるかは、実際に試してみないとわかりません。最初の印象は、php-gtk よりも優れているわけではないということです。 違い。

ここ から WinBinder にダウンロードできます のパッケージ .zip をダウンロードします。 パッケージでは、通常、 .exe を使用する必要はありません。 の。ダウンロード後、解凍し、 winbinder_xxxPHPPHP4ext を変更してください ディレクトリ ( PHP5 を使用している場合) 次に、 PHP5 をコピーします。 ディレクトリ) php_winbinder.dll PHP にコピーします 拡張機能ディレクトリの下 (通常は C:phpextensions) 、 php.ini を変更します。 ファイルに次を追加します:

拡張子=php_winbinder.dll

次に、コマンドラインを開きます (cmd )、 winbinder_xxxCodeSamples と入力します ディレクトリで、次を実行します:

C:phpcliphp.exe manytests_main.phpw

このようにして Windows を確認できます テスト用のサンプルが多数ありますので、すべて試してみてください。中国語を試してみましたが、そういえば WinBinder のサポートはかなり良かったです。 拡張機能を通じて PHP にロードされます 、彼らはすべて Windows と呼びます。 API 。実際に WinBinder を使用できます。 これは 2 つの層に分かれており、1 つは API と呼ばれる最下層です。 レイヤー、 PHP として 拡張直接接続 Windows API 、2 番目の層 (高レベル、 PHP と呼ばれます) です。 レイヤー)は、統合された通話インターフェイスを提供します。

こんにちは、世界 コード例

include("../inc/winbinder.php");??????????????????????????? // 含まれています WinBinder PHP ライブラリファイル
wb_create_window(NULL, PopupWindow, "Hello world!", 480, 320);
ウィンドウ を作成します アプリケーション wb_main_loop();??????????????????????????????????????? ? //
メッセージループに入る
?>

?

ウィンビンダー のインストールバージョンのインストールと設定

まず、http://winbinder.org/files/WinBinder-0.46.0.exe にアクセスします。 winbinder をダウンロード , これはインストール版です。ダウンロード後、ダブルクリックしてインストールします。

1


?

2

?

3 、インストール パスを選択し、次へ 、ここでは d;/winbinder を選択します。


?

4 php を選択します ここにあるバージョンはphp5.1

です

?

5 、ダウンロードサーバーを選択します。台湾を選択する方が速いです( 台湾しか選択肢がなく、中国の選択肢はない、怒っている )


?

6 次の


?
?
7

をインストールします

?

8 、待っています


?

?

9 、インストールが完了したら、[確認] をクリックしてください 。ステップ10を実行できます。 ?

10 、インストール後、D:WinBinderphpcodeexamples を開きます。 、.phpw を見つけます。 拡張子付きのファイルの場合、開く方法として D:WinBinderbinariesphp51php-win.exe を選択します。 。

?

は、.phpw として実行する準備ができました。 ファイル拡張子。たとえば


ここでいくつかの質問について説明します
1:
選択できる開く方法は 3 つあります。php.exe php-win.exe php-cgi.exe 選択した開く方法が php-cgi.exe
の場合 実際のアプリケーションでは、このウィンドウは冗長に見えるかもしれませんが、実行するとコマンド プロンプト ウィンドウが表示されます。
彼はプログラムにどのようなエラーがあるかを教えてくれます。

2: 今選択した開始方法は D:WinBinderbinariesphp51 です .exe ファイルを削除すると、このマシンにすでにインストールされている php( を選択できないのはなぜですか?) と尋ねる人もいるかもしれません。 D:/php) であると仮定します。 フォルダー内の.exe ファイルはどこにありますか?実際には可能ですが、php を選択した場合に問題が発生します。 フォルダー内の.exe ファイルの場合、c:windows を使用します php.ini 設定ファイル、この場合は winbinder .dll が実行時にロードされる ファイル、実際には D:/php/ext/ フォルダー内のファイル。したがって、現時点では php.ini を変更する必要があります。 extension_dir./ext に設定します なぜなら拡張 フォルダーには .exe が含まれています 同じフォルダー内のファイル ( それは D:php です フォルダー) 。次に、D:WinBinderbinariesphp51extを追加する必要があります php_winbinder.dll 内 ファイルを D:phpext に置きます 、そしてそれに応じて c:windowsphp.ini extension=php_winbinder.dllをファイルに追加します 。加えて 対応するライブラリ ファイルを使用する必要がある場合は、php.ini に存在する必要があります。 ; 内の対応するファイル名の前 番号を削除してください、これは誰もが知っていると思います。

D:WinBinderbinariesphp51 として開くことを選択した場合 .exe このファイルはそれほど面倒ではなく、D:WinBinder binariesphp51 を使用します。 php.ini ファイルを作成した場合、設定なしで使用できますが、デフォルトでは mysql のみをサポートします。 と sqlite gd などの他のライブラリを使用する場合は、これら 2 つのライブラリ 次に、D:WinBinderbinariesphp51 を変更する必要があります。 php.ini ファイルを作成し、対応するライブラリ ファイル ( 例: php_gd.dll) D:WinBinderbinariesphp51ext に入れます。 下。

1階 数学 2011-02-22
Pythonと比較して利点はありますか? ? ?

2階 ブルーハロー 2011-03-02
私も上記と同じ疑問を持っています。 。 。 。 。

3階 キシアイ 2011-03-03
mathgl は
を書きました Python よりも優れている点はありますか? ? ?

メリットなし

4階 イミント 2011-03-03
これを PHP で行うのは面倒ですし、何のメリットもありません

5階 ジャンシー 2011-03-03
ポスターを共有していただき、誠にありがとうございます
しかし http://www.gnope.org/download.php にアクセスできません
このポスターがあなたのお役に立てれば幸いです。

6階 シュビー 2011-03-03
pyqtを使うといいんじゃないでしょうか?

7階 雲見 2011-03-03
それは、あなたが php と python のどちらが得意か、あるいは php と python のどちらが作業言語であるかによって決まると思います。

8階 トニーシーク 2011-03-03
Unmi は書きました
これは良いと思いますが、おそらくそれは、あなたが php と python のどちらが得意か、または php と python のどちらが作業言語であるかによって決まります。
PHP はリクエストの最後にすべてのリソースをリサイクルできるため、Web などの「ステートレス」通信に適していると思います。
PHP は Python と同様に参照カウンターを使用してメモリを管理しますが、独自のクラスの参照など、参照カウンターがリークを引き起こす可能性がある問題に対処するための特別な gc メソッドはありませんでした。この点では、Python は明らかに PHP よりも優れています。これには、PHP にクロスリクエスト ソリューションがないことが大きく関係しています。
これは 5.3 ブランチまでは取られていませんでしたが、Python と比較するのは難しいと思います。
これは理由の 1 つにすぎません。

9階 メープルチェンダ 2011-03-08
.net で数回クリックするだけで得られるものにどれほどの労力を費やさなければならないかということは、それほど難しいことではありません。

10階 レイ_リン 2011-03-08
そのようなスクラップに時間を無駄にしないでください。GTK を直接使用するか、WPF または .NET を使用してください。

スクラップは限られた寿命の無駄です

11階 zk1878 2011-03-10
php がデスクトップとしても使えるとは思いませんでした、悪くありません

12階 シャオヤンオク 2011-03-14
未熟さは致命的な欠陥です。 。 。 。

13階 数学 2011-03-26
現在、php をバイナリコードに変換できるかどうかはわかりません。 。 。以前と同じような場合は、公開するのが少し
面倒になるでしょう。 。 。 PHP を使ってこれを楽しむこともできますが、本当に製品で使用したい場合は、まだまだ長い道のりがあり、これを続けるには長すぎるかもしれません

14階 ビルギ 2011-03-31
RAD ツールを使用して、Delphi、VB などの Windows GUI プログラムを作成する方がはるかに高速です。Lazarus などのオープンソースの Delphi に似たプログラムは、クロスプラットフォームに対応できます。

15階 リーロ 2011-04-18
maplechenda さんは書きました
.net で数回クリックするだけで得られるものにどれだけの労力を費やさなければならないかは、実際的な意味はありません。


これは、努力や労力の問題ではありません。PHP だけを使っている人は、.net をまったく理解していません。また、.net を学ぶ必要もありません。 . 彼が使い慣れているものを使用する方が良い

。 16階 仁真 2011-04-22
leero さんは書きました
maplechenda さんは書きました
.net で数回クリックするだけで何かが表示されるまでにどれだけの労力を費やす必要があるか。実用的な意味はありません。


これは、努力や労力の問題ではありません。PHP だけを使っている人は、.net をまったく理解していません。また、.net を学ぶ必要もありません。彼が使い慣れているものを使用する方が良いです。良い
彼が Windows クライアントを開発したい場合は、実際には .net を学ぶ必要はありません。 .net を学習すると、GTK クラス ライブラリを学習するよりもはるかに簡単かつ効果的になります。これは興味深いことですが、実際に使用するのは無駄です。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 Apr 05, 2025 am 12:04 AM

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

PHPでの後期静的結合を説明します(静的::)。 PHPでの後期静的結合を説明します(静的::)。 Apr 03, 2025 am 12:04 AM

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか? PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか? Apr 03, 2025 am 12:03 AM

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。

一致式(PHP 8)とそれがスイッチとどのように異なるかを説明します。 一致式(PHP 8)とそれがスイッチとどのように異なるかを説明します。 Apr 06, 2025 am 12:03 AM

PHP8では、一致式は、式の値に基づいて異なる結果を返す新しい制御構造です。 1)Switchステートメントに似ていますが、実行ステートメントブロックの代わりに値を返します。 2)一致式の式は厳密に比較され、セキュリティが向上します。 3)スイッチステートメントの脱落の可能性を回避し、コードのシンプルさと読みやすさを向上させます。

マルチスレッドをC言語で実装する4つの方法 マルチスレッドをC言語で実装する4つの方法 Apr 03, 2025 pm 03:00 PM

言語のマルチスレッドは、プログラムの効率を大幅に改善できます。 C言語でマルチスレッドを実装する4つの主な方法があります。独立したプロセスを作成します。独立して実行される複数のプロセスを作成します。各プロセスには独自のメモリスペースがあります。擬似マルチスレッド:同じメモリ空間を共有して交互に実行するプロセスで複数の実行ストリームを作成します。マルチスレッドライブラリ:pthreadsなどのマルチスレッドライブラリを使用して、スレッドを作成および管理し、リッチスレッド操作機能を提供します。 Coroutine:タスクを小さなサブタスクに分割し、順番に実行する軽量のマルチスレッド実装。

cマルチスレッドの3つの実装方法の違いは何ですか cマルチスレッドの3つの実装方法の違いは何ですか Apr 03, 2025 pm 03:03 PM

マルチスレッドは、コンピュータープログラミングの重要なテクノロジーであり、プログラムの実行効率を改善するために使用されます。 C言語では、スレッドライブラリ、POSIXスレッド、Windows APIなど、マルチスレッドを実装する多くの方法があります。

PSの負荷速度をスピードアップする方法は? PSの負荷速度をスピードアップする方法は? Apr 06, 2025 pm 06:27 PM

Slow Photoshopの起動の問題を解決するには、次のような多面的なアプローチが必要です。ハードウェアのアップグレード(メモリ、ソリッドステートドライブ、CPU)。時代遅れまたは互換性のないプラグインのアンインストール。システムのゴミと過剰な背景プログラムを定期的にクリーンアップします。無関係なプログラムを慎重に閉鎖する。起動中に多数のファイルを開くことを避けます。

See all articles