Laravel

LaravelでRestAPIをつくる

アプリケーション

LaravelでReactをフロントエンドのフレームワークとして採用しているのですが、APIを設計する必要がでてきたのでやってみました。 やること ResourceControllerをつくってデータを出力するだけのAPIをつくる API公開を見越した認証用ミドルウェアを実装する やらないこと Restの説明 APIデータの更新や削除 Ajaxでのデータの取得と出力 環境 Laravel5.2...

API Laravel React REST

LaravelでEventを使う

アプリケーション

ユーザー登録時や退会時など特定のイベントの時に発火させたいメソッドを管理したい時はイベントリスナーを使うと便利です。 今回は基本的なイベントとリスナーの定義の仕方についてはすっ飛ばし、一つのリスナークラスで複数のイベントを設定できるイベント購読について扱います。 環境 laravel5.2 ディレクトリ app\Events・・・イベント名=クラス名としたクラスを置く(厳密な命名規則はないです)...

Laravel

LaravelでCORS対応

アプリケーション

概要LaravelでCORS(Cross-Origin Resource Sharing)に対応する方法をまとめました。クライアントサイドはReact, axiosを使用します。前提知識としては、CORSのリクエスト形態、シンプルなリクエスト方法と、preflightを使用するリクエスト方法の違いを抑えておけば良いかと思います。RESTfulAPIの場合は基本的にはpreflightを使用するリク...

Laravel CORS

Laravelでajaxの際にCsrfTokenに引っかかった話

アプリケーション

Laravel+React+SuperagentでAjaxを実装していたら、500エラーがでて、「いやいやまさかTokenじゃないっしょ〜 そんなの知ってるもん〜」と捻くれていたら、CsrfTokenが原因でした。 解決方法ヘッダにTokenを含める方法もありますが、ハードコーディング感があるので、VerifyCsrfToken.phpで該当URLを除外する方法がスマートだと思うのでそちらを記載し...

AJAX Laravel React superagent

Laravel5.3で自作artisanコマンド.md

アプリケーション

今携わっているプロジェクトでRepositoryパターンを導入しているのですが、Repository関連のファイルを自動で生成するコマンドがあったら便利だなと思い、作ってみました。 コマンドを生成php artisan make:command Repository /CommandsにRespository.phpというコマンド用のファイルが生成されます。 コマンドファイルを編集Reposito...

Laravel リポジトリーパターン artisan

Laravel5.2にNotificationでNotificationを使う

アプリケーション

Laravel5.3がリリースされましたが、あえてLaravel5.2でNotificationを使う話です。 環境 Laravel5.2(または5.1) NotificationをインストールNotificationとはナンゾヤ? Laravel.com - NotificaionsLaravel Notification Channel Laravel5.3以前では通知の管理などはEvent...

Laravel

Laravel+React+Superagentでフォームを実装

アプリケーション

表題の通りです。Laravel+React+SuperagentでAjaxなフォームを実装します。 AjaxライブラリとしてSuperagentを採用しているのは、jQueryから脱却したいのと、jQueryのAjaxよりも分かりやすかったからです。プロミスとかいう難しい概念があるらしいですが、それは横に置いておいてもとりあえずは使えそうです。 Web標準の観点からするとFetchAPIがイケてる...

Laravel React AJAX superagent

Laravel リポジトリパターンの実装

アプリケーション

DB操作に関連するスマートな実装パターンであるリポジトリパターンについてかいてみようかと思います。 リポジトリパターンとはデータの操作に関連するロジックをビジネスロジックから切り離し、抽象化したレイヤに任せることで保守や拡張性を高めるパターンです。(必ずしもDB操作のロジックのみを留めるパターンというわけではないそうです。) Laravelにリポジトリパターンを取り入れることで、 テストがしやす...

Laravel リポジトリーパターン

FormRequestのrulesメソッド内でバリデーションルールを振り分ける

アプリケーション

複数のフォームがある状況で、「フォームリクエストのクラスは一つに絞って、rulesメソッド内で分岐したい」なんて思う日があるかもしれません。(私はRest APIつくっているときにありました。) 案外同じことを考えている人がいたようで、リファレンス漁るよりも先に結果が出ました。 Multiple Forms, Multiple Requests? FormRequestのrulesメソッド内でゴニ...

Laravel