はじめに
PHP でネスト構造の XML(SimpleXMLElement)を、再帰処理で配列(array)に変換する方法を整理した。
TL;DR
get_object_varsで変換できるのは1階層目までforeachと組み合わせて再帰処理で解決json_decode,json_encode,simplexml_load_stringの組み合わせでも OK
PHP でネスト構造の XML(SimpleXMLElement)を、再帰処理で配列(array)に変換する方法を整理した。
get_object_vars で変換できるのは1階層目までforeach と組み合わせて再帰処理で解決json_decode, json_encode, simplexml_load_string の組み合わせでも OKVue.js で画像プレビューする方法を整理した。
基本的に たった2ステップ!Vue.js で選択画像をプレビューする方法(サンプルDL可) – console dot log の通り。
<input type="file"> に @change でイベントハンドラを設定FileReader の readAsDataURL で data: url として読み込みdata に data: url を設定<img :src="dataUrl>` のようにバインドして表示Laravel の Form::select で空の選択肢ありのセレクトボックスを出す方法をまとめた。
['placeholder' => '選択してください'] を追加するprepend('選択してください', '') を使うcollect() などで Collection に要変換Vue + Cordova + Firebase でプッシュ通知を利用する方法を整理した。
※Firebase やプッシュ通知の細かい仕様については詳しくないため、最新/最適 でない方法の可能性があることに注意。
※試行錯誤を経て成功した後に情報を整理しているので、手順漏れや実施タイミングが異なるものなどがあるかもしれないことに注意。
関連: Node.js で firebase-admin を使ってサーバからプッシュ通知
Laravel で PDF ファイルをブラウザで開く方法を整理した。
PDF ファイル自体は Laravel が動作するサーバ内だったり、S3 だったりに置いてある想定。
Storage::disk()->get() で PDF ファイルを取得response に PDF ファイルを設定header で Content-type: application/pdf と Content-disposition を指定PHP で curl を使って、API Request をする方法。
※API は JSON 形式のレスポンスを返す想定
curl_init → curl_setopt → curl_exec → curl_closeLaravel で CSV ファイルをもとに DB seed する方法を整理した。
SplFileObject で読み込んで foreach で 1行ずつ処理array_combine で合成updateOrCreate が便利Laravel で @section の設定がある場合のみ HTML を表示する方法を整理した。
例えば「共通的に使うので、レイアウトファイルにパンくずリストを定義したい」けど、「パンくずリストの表示指定が無いページでは、パンくずリスト自体を表示したくない」のようなケース。
※わかりやすい例が思いつかない。
@hasSection を使う@if や View::hasSection を組み合わせて対応