WordPress と wordplate を使って開発環境を作って、
画像を一括変換するバッチを開発する流れのメモ。
Contents
事前準備
- PHP >= 7.1.3
- composerが必要です。
- imagemagick と mariadb が必要ですので Homebrew でインストールしておきます。
- WordPressはWordPlateを利用して構築します。
概要
- 画像を変換するバッチはWP-CLIのコマンドとして実装します。
- gen-dummy-images.sh
- テストヘルパーコマンドです。ダミー画像を生成します。imagemagickを利用します。
- wp bulk-convert-images register-testdata
- テストのためにダミー画像をメディアに登録するサブコマンドです
- wp bulk-convert-images convert
- 変換処理のサブコマンドです
WordPlateで開発環境を作ります
WordPlate プロジェクト作成
カレントディレクトリにプロジェクトフォルダとボイラープレートを作ります:
1 2 |
$ composer create-project wordplate/wordplate bulk-convert-images |
プロジェクトフォルダに入ります:
1 2 |
$ cd bulk-convert-images |
wp-cli/wp-cli
インストール
WP_CLI_Commandクラスを使いたいので composer で wp-cli/wp-cli
をインストールします:
1 2 |
$ composer require wp-cli/wp-cli |
coreコマンドとか使いたいので追加のコマンドのパッケージを入れます:
1 2 |
$ composer require wp-cli/wp-cli-bundle |
wpコマンドの確認:
1 2 3 |
$ vendor/bin/wp --version WP-CLI 2.1.0 |
DBを作ります
mysqlサーバを動かしておきます(適宜):
1 2 |
$ mysql.server start |
DB作る:
1 2 |
$ mysql -u root -p -e 'create database if not exists `bulk_convert_images` default character set utf8mb4;' |
DBができたか確認:
1 2 3 |
$ mysql -u root -prootpass -e 'show databases;' | grep bulk_convert_images bulk_convert_images |
もけー
WordPlateの .envファイル
を編集
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
... WP_HOME=http://localhost:8000/wordpress WP_SITEURL=http://localhost:8000/wordpress WP_CONTENT_URL=http://localhost:8000 ... DB_HOST=127.0.0.1 DB_NAME=bulk_convert_images DB_USER=dbユーザ名 DB_PASSWORD=dbパスワード ... |
WordPressをコマンドでインストール:
以下のコマンドを実行することで、WordPressのインストール初期設定画面をスキップすることができます。
1 2 |
$ source .env && vendor/bin/wp core install --title=bulk_convert_images --admin_user=admin --admin_password=admin --admin_email=test@example.com --url=${WP_CONTENT_URL} --path=public/wordpress |
ウェブサーバを動かしておきます:
1 2 |
$ php -S localhost:8000 -t public |
WordPressのログインURL:
1 2 |
http://localhost:8000/wordpress/login |
WordPressにログイン
ログインできるか確認しておきます。
画像変換バッチのフォルダ準備
プロジェクトフォルダに入り、 bulk-convert-images-cli フォルダ
を作る
1 2 3 |
$ cd bulk-convert-images $ mkdir bulk-convert-images-cli |
バッチのコードは bulk-convert-images/bulk-convert-images-cli
に書いていきます。
テスト用画像を生成するシェルスクリプト
bulk-convert-images-cli/test/helper/gen-dummy-images.sh
1 2 3 4 5 6 7 8 9 10 11 12 13 |
#!/bin/sh cd `dirname $0` workdir=`pwd` mkdir -p ${workdir}/images for i in {1..100} do echo ${workdir}/images/${i}.png convert -size 800x300 xc:white -pointsize 72 -fill black -draw "text 30,65 '${i}'" ${workdir}/images/${i}.png done |
生成画像は bulk-convert-images-cli/test/helper/images
に配置されます。
実行してみる:
1 2 |
$ sh bulk-convert-images-cli/test/helper/gen-dummy-images.sh |
1 2 3 4 5 6 7 |
$ ls bulk-convert-images-cli/test/helper/images 1.png 13.png 18.png 22.png 27.png 31.png 36.png 40.png 45.png 5.png 54.png 59.png 63.png 68.png 72.png 77.png 81.png 86.png 90.png 95.png 10.png 14.png 19.png 23.png 28.png 32.png 37.png 41.png 46.png 50.png 55.png 6.png 64.png 69.png 73.png 78.png 82.png 87.png 91.png 96.png 100.png 15.png 2.png 24.png 29.png 33.png 38.png 42.png 47.png 51.png 56.png 60.png 65.png 7.png 74.png 79.png 83.png 88.png 92.png 97.png 11.png 16.png 20.png 25.png 3.png 34.png 39.png 43.png 48.png 52.png 57.png 61.png 66.png 70.png 75.png 8.png 84.png 89.png 93.png 98.png 12.png 17.png 21.png 26.png 30.png 35.png 4.png 44.png 49.png 53.png 58.png 62.png 67.png 71.png 76.png 80.png 85.png 9.png 94.png 99.png |
よさそう。今回はここまでです。
次回は、テスト画像をメディア登録して、実際に変換処理を行なうPHPを書いていきます。
No comment yet, add your voice below!