Laravel5.2から5.3へアップグレードする

9/12(月)にLaravel Meetup Tokyo vol.8に参加しました。その時に@localdiskさんがLaravel5.3へのアップグレードについて話されていて、そろそろかなと思って早速アップデートしてみました。仕事では5.2をこれまで使っていてプロジェクトの大きなリリースが来月あるのでテストを踏まえるとちょうど良い頃合いでした。以下はアップグレードした際の備忘録です。

続きを読む

Laravelのテストでモックを利用する

今回はテストを書く中で実際に書いたモックの例を晒しておきます。LaravelのファサードはshouldReceiveで非常に簡単にモック化できるので、ぼくみたいなテスト勉強中の人でも覚えることも少なくとても使いやすいと思いました。

続きを読む

LaravelでControllerのテストをする

LaravelはControllerのテスト書きやすいと思います。ただ、ドキュメントがあまりなくて調べるのに少し苦労した記憶があります。そんなにいっぱいパターンがあるわけじゃないと思いますが、自分の場合はこうやってましたというのを晒しておきます。

続きを読む

Laravelでstylelintを導入する

eslintはEcmaScript(JavaScript)のLintツールですが、stylelintとはCSSのLintツールです(もちろんSCSSもOKです)。好奇心でけっこう前に導入してみました。思いの外いろいろ教えてくれて良い感じです。

続きを読む

Laravelで複数フィールドのバリデーションを作る

通常のよくあるバリデーションルールでは単体のフィールドをチェックしますが、複数のフィールドの関連性を見てチェックしたい場合にどうするのか調べてみました。ひとまず実装はできていて動くのですが、もう少し良いやり方があるかもしれません。もっと良いやり方があればTwitterなどで教えてください。

続きを読む

Laravelのバリデーションで繰り返しフィールドを扱う

フォームの中にたとえば「複数の商品を持つ」ような繰り返し領域があるケースは案外多いと思います。今回はそういった場合にどのようにバリデーションを設定するのか調べました。ちなみにバリデーションの実行の仕方はいくつかありますが、個人的にはLaravel5から追加されたFormRequestを積極的に利用してます。出てくるサンプルは全てFormRequestで設定しています。

続きを読む

Laravelでタスクをスケジュール実行する

すっかりブログを書くのを忘れていました。Laravel5.2で開発をしていたんですが、少し時間があるのでハマったりして調べた事などを備忘録がてら残しておこうと思います。何日かに分けて書いていく予定です。今回は使ってみたらとても便利だったタスクスケジュール機能について書きます。

続きを読む

Laravelを1ヶ月ほど触ってみて

Laravelを使い始めて1ヶ月ほどが経ちました。まだまだ使い込んでる感じではないんですが、今どんな感じで開発してるかとか、やって良かった事・ハマりがちだった事などをまとめます。

続きを読む

Laravel ElixirをWebpackと組み合わせて使う

Laravel Elixirを使ってみます。Laravel Elixirとはフロントまわり(SCSS、JavaScript)のプリコンパイル等の処理を行ってくれるツーリングです(テスト実行などもやってくれるみたい)。フロントのまわりのプリコンパイルは古くはgrunt、最近ではgulp、Webpackを利用しますが、Laravel Elixirではgulpをラップする形でより簡潔に設定できるようになっているようです。

なお、通常Laravel ElixirではJavaScriptのモジュール管理にBrowserifyを使うようですが、ぼくは最近はBrowserifyではなくWebpackを利用するようにしているのでWebpackが使えないかも試してみました。

続きを読む

Laravel5とWebSockets: Broadcasting Eventsを試してみる

Laravel5.1からの新機能でBroadcasting Eventsという機能があります。これはとても素敵な機能でどういうものかと言うとLaravelのイベントの仕組みを通してWebSocketsを利用してブラウザへ直接プッシュ通信ができるというものです。Laravel作者のTaylorの動画があります。

Broadcasting Events in Laravel 5.1

WebSockets + PHPを今回プロジェクトで使う予定なので、このBroadcasting Eventsが使えそうか試してみました。

続きを読む