💽

2年半ぶりにLaravelを使うことになったけど業務に追従できるようになるためにやったこと

2022/02/26に公開

当時の状況

当初プライベートでLaravelでアプリを作ったことがあっただけでしたが、そこから2年半ぐらい経って業務で使うことになったことがありました。そのときキャッチアップするためにやったことを書き残そうと思ったのでこの記事を作成しました。
当時の状況としては

  • Model、View、Controllerに分けてソースを管理
  • php artisanというコマンドがあってなんかいろいろできる
  • migrationとかいうものがあったような・・・
    ぐらいまでは覚えていましたが、具体的なやり方までは出てこないのでソース書けと言われたら書けなかったという感じでした。

参考になりそうな人

  • 他の言語、フレームワークは知っているけどLaravelを使うことになった
  • ブランクがあるけど久しぶりにLaravelを使うことになった
    という人。

学習の方針

案件参画決定から業務開始まで2週間くらいしか無かったので、最初から完璧に理解してからやるのは無理だと思いました。なのでフレームワークの構造の全体像はイメージできるようになりつつ、頻出ポイントに絞って解説しているコンテンツを探して学習しました。
また、普段ならよくググって無料で見れるものを探したりしますが、時間がなかったのでこのときは探す手間を省くため多少本や動画などの有料コンテンツも選択肢にしてもOKとしました。

最小限の構造のアプリを作ってみる

【作って学ぶ】laravel8とMySQLで作るシンプルメモアプリというUdemyの動画教材を使いました。
動画の内容に沿って進めるとアプリが出来上がるので全体像を思い出しやすく、ブランクがあって思い出すのに使いたい場合に非常に良かったです。

  • 2021年6月時点における最新バージョンであるLaravel 8で作っている
  • 動画の内容が1週間あれば完了できる長さになっている
  • DBも使っていてCRUDの処理を網羅している
  • 実際にアプリができるので楽しい

という点が優れている部分に思いました。
この動画で学習した時点で、「Laravelでこの処理をやりたいときはここのファイルにソースを書く」、とか「DB操作をする場合はLaravelのこの機能を使う」のように自分のやりたいことをLaravelで実現するためには何をすればよいのかを、100%ではないですが頻繁に使う部分についてはイメージできるようになりました。

書籍を読む

動画で勉強した後はもう少し細かい内容を補完するために
PHPフレームワーク Laravel入門 第2版
を読みました。この本は青本と呼ばれているそうです。
先ほどの動画で理解が進んでから読んだので進めやすかったです。通勤の時間に少しづつ読み進めてインプット、自宅PCでソース書いてみてアウトプットを交互に繰り返していましたが、時間が限られていたので結構読み飛ばした部分が多いです。

  • ルーティング
  • コントローラ
  • ビュー
  • テンプレート
  • データベース利用
  • モデル

が関わってくる部分だけやった感じです。

Laravel公式ドキュメントの日本語訳サイト+先人のソースコードを参考にしつつ書く

動画+青本である程度理解している段階で、業務でソースを書いてみるといった状況になりました。
何とかギリギリ間に合ったような感じでしたが、これをやっていたおかげでLaravel公式ドキュメントの解説だけ読んでもスムーズに意味を理解できるようになり、先行して開発を行っているチームの方のソースを参考にし自分の開発タスクに必要な内容に落とし込んでソースを書くといったことができるようになっていました。

Laravel 8.x データベース:クエリビルダ - ReaDouble
とか
Laravel 8.x バリデーション - ReaDouble
のページにはよくお世話になってます。

よくわからなかった部分を書き留めておく

ここまで理解を深めても当然完璧とはなりません。なので業務中に分からなかった部分は後で忘れないように記録しておきました(分からなかったと言ってもほとんどは調べたり教わったりで解決してはいます)。後で復習するための問題を箇条書きで作成する感じです。例えば

  • 名前付きrouteとは?
  • seedr、factory、fakerとは?
  • Service、Repositoryの作法は?
  • session()->flash()はどんな時に使うか
    みたいな感じで結構雑にメモに書いています。時間なかったのでw

スキマ時間を使って検証する

上記のメモのおかげでよく分からなかった部分が記録に残っているので復習しました。上記の書き方の場合、箇条書きで細かい問題が1つずつ書いてあるので1日1つとかペースを決めやすいです。
検証コードを書くとかでなく調べものなら通勤時間とかも有効活用できるはずです。
地道に少しづつ続けていくと分からないところが少しずつ出にくくなることを実感できました。

もらった自炊pdfを読んでみる

PHPフレームワークLaravel Webアプリケーション開発 バージョン8.x対応
PHPフレームワーク Laravel実践開発
の自炊pdfを案件参画時に共有してもらいました。
内容は青本よりも難易度が高めで、実務の内容にもよりますがこれができれば結構通用するかもしれません。実はググるのがメインで自分はあまり読むことがありませんでしたが、業務中に分からないところを調べるために手元に置いておくのに良いと思います。

Discussion