はじめに
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_close
Laravel で CSV ファイルをもとに DB seed する方法を整理した。
SplFileObject
で読み込んで foreach
で 1行ずつ処理array_combine
で合成updateOrCreate
が便利Laravel で @section
の設定がある場合のみ HTML を表示する方法を整理した。
例えば「共通的に使うので、レイアウトファイルにパンくずリストを定義したい」けど、「パンくずリストの表示指定が無いページでは、パンくずリスト自体を表示したくない」のようなケース。
※わかりやすい例が思いつかない。
@hasSection
を使う@if
や View::hasSection
を組み合わせて対応