JmLab.

備忘録?

PHPプログラミング

PHPでGUIアプリケーション

Share:

PHPはサーバーサイドのアプリケーションを作るものでしょう?と思うでしょう。僕もそう思います。

が、しかし、どうやらGUIアプリケーションが作れるらしいのです。
嘘みたいですが、本当です。
ちゃんと、PHPのリファレンスにもライブラリについて説明があります。

http://php.net/manual/ja/book.ui.php

PHPは基本的に、PHP用に作られたDLL形式のライブラリはphp.iniに記述するだけで読み込むように出来ています。このライブラリもそういう形式です。

有り難いことに、ビルド済のバイナリが用意されているので、これをそのまま使います。

■UIライブラリの導入

さて、インストール要件を確認してみると、
と書かれています。要するに、PHP7より新しければ大丈夫って意味です。

しかし、これを鵜呑みにするとphp.exeに、「エントリポイントがない」と怒られます。
なぜなら、php_uiが7.3に対応していないから。

そのため、php_uiを使いたいときは、php7.1系のstableをダウンロードしましょう。
この記事執筆時点でのstableは7.1.25でした。

php7.1をダウンロードしたら、次はphp_uiをダウンロードします。

http://pecl.php.net/package/ui

ここから、対応したバイナリをダウンロードしましょう。

僕は、PHPは7.1.25のx64 thread safeをダウンロードしたので、php_uiも2.0.0の7.1 Thread Safe (TS) x64をダウンロードしました。

それぞれ、ダウンロードしたzipは展開して、php本体を含むフォルダは適当なディレクトリに配置しておきます。
僕はC直下にしておきました。

必要に応じてパスも通しておきましょう。

■ライブラリファイルのコピー

展開して出来たフォルダの中から、php_ui.dllをphp\extへコピーします。

それ以外は、php.exeと同じディレクトリにコピーしましょう。

■php.iniの編集

php.exeと同じディレクトリに、”php.ini-development”とphp.ini-production”があるので、必要な方をphp.iniへリネームします。
僕はとりあえず開発がしたいので、php.ini-developmentをリネームしました。

リネームしたphp.iniを開いてextension_dir=extを探してコメントアウトします。これをしないと、ライブラリが無いと怒られます。

今度はextension=と書かれている場所を探します。
ここも色々書かれてると思うので、必要なライブラリをコメントアウトしておいて下さい。
で、このあたりにextension=php_ui.dllを追加します。

■動作確認

パスが通っている場合は、コマンドプロンプトを起動してphp –versionでエラーが出ないこと。
通っていない場合はphp.exeを起動して、エラー文が表示されないことを確認すること。

ここまで確認できたら、サンプルを起動しましょう。

サンプルは、4つあります。

  • gallery.php
  • histogram.php
  • snake.php
  • starfield.php

僕の環境では、どれもエラー無く起動できました。
ここでエラーが出る場合は、php –versionを起動したときにエラーが表示されないか確認しましょう。

今後は、これで何か作れれば作ってみたいと思います。

rikuta0209

工場の現場作業員から、プログラマに転身。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください