PHPでGUIアプリケーション
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を起動したときにエラーが表示されないか確認しましょう。
今後は、これで何か作れれば作ってみたいと思います。