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

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

WBOY
WBOYオリジナル
2016-06-13 13:03:151129ブラウズ

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 までご連絡ください。
前の記事:PHP保険の最大化次の記事:PHP保険の最大化