現役プログラマのWordPressカスタマイズ相談

WordPress(ワードプレス)のお悩み、うまくいかなくてお困りなこと、不具合調査、新規制作依頼まで、ウェブアプリケーションエンジニアがあなたをサポートします。

PHP多次元配列、特定キーの値を検索しindexを取得する(ループ不要)

f:id:jsaz:20171210155520p:plain

WordPressoptionテーブルに独自のデータを管理する場合、連想配列を使うのですが、 その中の配列からIDやCODEから対象のデータを探す際にループさせて1件ずつ探していく面倒だったので、もう少し良い方法はないかと調べてみました。

array_columnarray_search を使うことで2行で対象のデータを取得することができます。 具体的なサンプルも合わせて載せていきます。

  • 参考にしたサイト
  • 今回使うデータは駅データ
  • 普通に考えるとループで検索
  • array_columnで検索対象のカラムのみ取得
  • array_searchを使い対象のインデックスを取得
  • (サンプル)大橋駅の情報が欲しいとき
  • WordPressでの利用時のサンプルコード
続きを読む

JアラートはAppleWatchでどのように表示される?「福岡市のミサイル対応訓練」

福岡市で緊急速報メールを活用したミサイル対応訓練が行われました。 北朝鮮からミサイルが福岡めがけて飛んでくる想定です。

www.city.fukuoka.lg.jp

あってはならないことですが、万が一の時のためにJアラートの送信テストができたことは良かったと思います。 Jアラートに合わせて実際に電車が緊急停止したり、避難訓練を行った学校などもあったようです。

iPhoneに送られてきた情報とAppleWatchで見ることができる情報を画像をつけてご紹介します。

  • iPhoneへの通知
  • AppleWatchへの通知
続きを読む

一番簡単なPHP 7.1バージョンアップ方法(Ubuntu/Cloud9)

f:id:jsaz:20171127184129p:plain

Laravel5.5を試してみようと思ったところ、Laravelの要件がPHP7以上となっていました。 Cloud9のPHP環境はデフォルトが5.6ですのでPHPのバージョンアップを行う必要があります。

少し調べるとかなり簡単な方法がみつかりました。 そのサイトを参考にUbuntu(Cloud9)にパパっとPHP7.1を導入する手順を載せていきます。

  • 参考にしたサイト
  • スクリプトGitHubからクローンして取得する
  • install-laravel.shを実行
  • PHP7インストール確認
続きを読む

PhantomJSをインストールする(Amazon Linux)

f:id:jsaz:20171126183112p:plain
[Amazon Linux]PhantomJSインストール手順

Amazon LinuxにPhantomJSをインストールしました。

Amazon Linux AMIのyumリポジトリからPhantomJSをインストールすることはできなかったのでバイナリディストリビューションからインストールします。

こちらを利用します。 bitbucket.org

ubuntuへのインストールはこちらをご覧ください。 soudan.hatenablog.jp

  • 参考にしたサイト
  • フォント関連パッケージのインストール
  • PhantomJSバイナリデータをbitbucketからwgetでダウンロードする
  • phantomjsフォルダを作成
  • bz2ファイルを展開する
  • tarファイルを展開する
  • シンボリックリンクを作成する
  • インストール確認
  • 日本語フォントインストール
  • 不要なダウンロードファイルを削除
続きを読む

PhantomJSをインストールする(Ubuntu)

f:id:jsaz:20171124183939p:plain
[Ubuntu]PhantomJSインストール手順

UtuntuにPhantomJSをインストールしました。

用途は以下の2つです。

  • Laravel/Duskでテストする
  • 応募フォームの応募フロー自動化

Laravel/DuskはChromeDriverの他、PhantomJSも選べます。
環境によってはChromeDriverがインストールできないこともあり、今回はPhantomJSを選ぶことになりました。

応募フォームの応募フロー自動化は、単純に手間を省きたかったからです。
PhantomJSを使うと比較的簡単にスクレイピングができるということで選びました。
こちらはシナリオテストレベルの使い方、Laravel/DuskはDBの結果と突き合わせたりするので単体/結合レベルのテスト用という感じでしょうか。

それでは、OS:Utuntuにインストールしていきます。

  • 参考にしたサイト
  • パッケージリストの更新
  • 必要なパッケージをインストール
  • 日本語フォントインストール
  • phantomjsのバージョン指定を変数に保持
  • phantomjsをgitから取得
  • ファイル確認
  • ファイル展開、インストール
  • シンボリックリンク作成
  • phantomjsインストール確認
  • 不要なダウンロードファイルを削除
続きを読む