1. Pao@Office - Barcode.php

バーコードでPHPを出力するサンプルプロジェクトです。
PHP開発において、多種類のバーコードをPDFに出力したり、ブラウザに出力することができます。
クラス・プロパティ・メソッドの使い方については、PHPのソースコードをご覧ください。
精度の高いバーコードを簡易に出力できます。
このプロジェクトの利用方法については、次の動画をご覧ください。
https://youtu.be/HHHwf1lvedI

1.1. コンテナ環境

Debian9
PHP5.6
→試用版環境は暗号化されたBarcode.phpを使用しているためPHP5.6を使用しています。
製品版の場合、php7.4や、PHP8.1でも動作しますので
動作検証済みのDcokerfile.php7.4/PHP8.1 も参考のため附属しました。

1.2. このDocker Composeプロジェクトを開く手順(VSCODE)

VSCODEで「フォルダーを開く」の操作を行い、
ダウンロードしたzipファイルを解凍した「PHP-BARCODE」フォルダを選択してください。
このdocker-compose用のプロジェクトが開きます。

1.3. コンテナインストール・起動

次のコマンドを実行してください。インストール&起動されます。
docker-compose up -d
VSCODEをお使いの場合、Ctrl+@ でコマンド入力できます。
Ctrl+@ を押して「docker-compose up -d」を入力してください。

1.4. 実行環境 - barcode.phpサンプル起動方法

8080ポートを使用しました。次のURLにブラウザからアクセスしてください。
http://localhost:8080/
barcode.phpのサンプルプログラムの実行がブラウザに表示されます。
ポート番号8080を既に使用している場合、docker-compose.yml の一番下の行でポート番号を変更してください。

1.5. ディレクトリ環境 - barcode.php の使い方

  1. htmlディレクトリ(/var/www/html)配下にサンプルのPHPファイルを配置してあります。

  2. その下の階層のbarcode.phpディレクトリ(/var/www/html/barcode.php)に
    製品であるbarcode.phpのphpソースファイルを配置してあります。

  3. barcode.phpディレクトリ配下のphpソースファイルは、
    試用版の場合、暗号化されておます。尚且つ、バーコードに「SAMPLE」と出力されます。
    barcode.php のクラスやプロパティ・メソッドをご試用いただく分には問題ございません。

  4. バーコード出力のphpソースコードを解読、ご自分なりに変更しながらbarcode.phpの使い方を把握していただいたり、
    PDFマニュアルを参照して、barcode.php をご試用ください。

1.6. PDFマニュアル

http://www.pao.ac/barcode.php/file/Barcode.p.pdf
このプロジェクトにも Barcode.php.pdf というファイルで同梱されています。

1.7. 停止やクリアは、次のコマンド

  1. docker-compose stop または、Docker desktop 等で、対象コンテナの停止ボタン(■)を押してください。

1.7.1. 対象コンテナを検索して対象コンテナを消す

  1. docker ps -a (対象コンテナIDを探す)
  2. docker rm 対象コンテナid

1.7.2. 対象イメージを検索して対象イメージを消す

  1. docker images(対象イメージIDを探す)
  2. docker rmi 対象イメージid

以上で、このプログラムでインストールされたコンテナは全てきれいになくなります。
わかりやすく書きましたが、次のコマンド一発でもOKです。
docker-compose down --rmi all --volumes --remove-orphans

1.8. コンテナインストール・起動がエラーになる場合

  1. Docker desktop 等が起動していないケースが多いです。起動しておいてください。
     その後、「docker-compose up -d」を行ってください。

  2. Docker desktop 等が古く、起動すると!マークなどで更新できる状態になっている時があります。
     更新して、最新版をお使いください。
     これが原因でpullがうまくいっていないことが多々あります。
     その場合、次のようなメッセージになります。[internal] load metadata for …

  3. 同じコンテナに重複pull をしようとしているケースがございます。
     前述した「停止やクリア」のクリアの部分を実行してコンテナイメージをいったん削除してから、
     docker-compose up -d を行ってください。

  4. Docker の環境も実は個々で異なるので、万人に動くようにすることはなかなか難しいですね。

1.9. ディレクトリ・ファイル構成図

[PHP-BARCODE]

├─ docker-compose.yml ・・・docker-compose用ymlファイル
├─ README.md ・・・このファイル
├─ Barcode.php.pdf ・・・Barcode.php マニュアル

├─html/  ・・・/var/www/html にそのまま反映されます
│  │
│  ├─ index.php ・・・サンプルプログラムのトップページ
│  ├─ browser_xxx.php ・・・各種バーコード ブラウザ出力GUI
│  ├─ pdf_xxx.php ・・・各種バーコード PDF出力用GUI
│  ├─ draw_browser_xxx.php ・・・各種バーコード ブラウザ描画
│  ├─ draw_pdf_xxx.php ・・・各種バーコード PDF描画
│  │
│  ├─ barcode.php/ ・・・・barcode.php(バーコードライブラリ)の各種プログラム    │  │
│  ├─ font/ ・・・フォントファイル
│  │
│  ├─ fpdf/ ・・・PDF出力用
│  │
│  └─ resource/ ・・・barcode.php(バーコードライブラリ)用リソース

└─ php/
  ├─ Dockerfile  ・・・このプロジェクトのDockerfile
  ├─ Dockerfile.php7.4 ・・・php7.4用Dockerfile
  ├─ docker-php-ext-paozip.ini  ・・・複合化用モジュール
  ├─ paozip.so  ・・・複合化用モジュール
  └─ php.ini