S3の署名付きURLを取得する

Laravel のファイルシステムはS3やRackspaceのようなオブジェクトストレージをサポートしています。S3にファイルを保管する際、誰でもアクセスできる状態ではあるべきではないファイルは多々あるでしょう。そういったファイルを利用者にDLさせる際にはPre-Signed(署名付き)URLが便利です。

“S3の署名付きURLを取得する” の続きを読む

特定のルートをCSRFトークンチェックを除外する

この投稿の内容は Laravel 5.1 以降のバージョンにおいて利用できます。

Laravel で外部からの Webhook を受けたいときなど、特定のルートだけCSRFトークンのチェックをバイパスする必要性がある場合があります。WebhookプロバイダはCSRFトークンを知るわけがなく、扱えませんから。 “特定のルートをCSRFトークンチェックを除外する” の続きを読む

配列フォームバリデーションの属性名を設定する

フォームバリデーションで配列の入力値を使用する際、その配列の属性名 (attribute) を設定していないと 「member.2.nameは必須です」 のような表示になってしまう。

属性名を設定しておけば通常のバリデーション同様には使える。

“配列フォームバリデーションの属性名を設定する” の続きを読む

Laravel-Mix で HMR を利用する

Laravel 5.4 から採用されたフロントスクリプトのビルドツール、 Laravel Mix では、Webpack の HMR (Hot Module Replacement) がデフォルトで利用できます。

(HMRは)画面の再描画すること無しにJSの変更をブラウザに適用してくれる開発ツールです。
Hot Module Replacementの設定と仕組みを理解する – Qiita

Laravel でこれを利用すると、たとえば Vue コンポーネントの変更がリロード無しに反映できます。

“Laravel-Mix で HMR を利用する” の続きを読む

Vue コンポーネントにモデル (Entity) を渡す

Laravel で Blade テンプレート上に記述した Vue コンポーネントに Laravel の Model を渡す場合。

{{ hoge }}を使うと渡した値は e() によりHTMLエスケープされるが、Vue コンポーネントのディレクティブとしてエスケープされたJSONを渡した場合もちゃんとオブジェクトとしてパースされpropsに入ってくれる。
(そもそもHTMLで属性に e() した値を渡してもエスケープ前の文字列として扱われるから当然といえば当然)

“Vue コンポーネントにモデル (Entity) を渡す” の続きを読む