こんにちは!
新卒1年目エンジニアのshimatsuです。
今回は、Udemyを使ってLaravelを一から学び直してみたので、その背景や学んだことをシェアしていきたいと思います!
1.なぜLaravelを一から学び直したのか
弊社のサービスでは、バックエンドにPHP(Laravel)を使用しております。
5月ごろに実施された研修の中でPHP(Laravel)研修というものがあり、私はそこで初めてLaravelに触れました。
当時はがむしゃらに講義を聞いて、ハンズオンに取り組んでいましたが、「ただ言われた通りにコードを書く」ことしかできていませんでした。
そこから数か月が経ち、今では開発メンバーとしてお仕事をさせていただいているわけですが、研修当時に曖昧に理解したままで知識が止まってしまっており、既存のコードを読んで腹落ちさせるまでに時間がかかっていました。
そこで、実際に開発に携わるようになった今だからこそ、あらためて基礎知識を固めることで、より開発にかかるスピードや質を向上できるのではないかと考えました!
2.なぜUdemyを使ったのか?
UdemyではLaravelはもちろん、幅広いジャンルの講義が公開されています。
そのため、今後継続的に学習を進めていくこと際に、その時その時のニーズにあった講義が受けられそうだと思ったのが理由でした。
今回受講させていただいた講義は、「【しっかり身につける】PHP基礎の学習後に見てほしいLaravel入門(Laravel11対応)」(講師:Kent Koyamaさん)です。
ハンズオン形式で学べましたし、自社のサービスもイメージしやすい内容でした!
3.一から学び直してみての気付き
大きな気付きとして2つ挙げられます。
1つ目が、メソッドの多さです。
講義で挙げられていたメソッドだけでも非常に多く、知らないものも正直たくさんありました。
このメソッドをうまく活用することで、より読みやすいコードを書けるようになりそうだと感じました!
例えば、フォームの入力内容を確認するバリーデーションにおいては、メソッドを使用するだけで以下のようにコードを短縮することができます。
// バリデーションメソッドを使用しない場合 $lastName = $request->get('last_name); if(empty($lastName)){ $errors[] = '姓を入力してください'; } elseif(mb_strlen($lastName) > 10) { $errors[] = '姓は10文字以下で入力してください'; } // バリデーションメソッドを使用した場合 $validated = $request->validate([ 'last_name' => ['required', 'string', 'max:255'], ]);
例では姓のみの確認ですが、実際のサイト上では多くの入力項目があり、1つずつgetメソッドを使用していると膨大な量のコードになってしまいます。
そこで、1つのvalidateメソッドに集約することで、コードを短くかつ一目でわかりやすい状態にすることができます。
また、バリデーションルールとして、required:必須項目であること、string:文字列であること、などが既に用意されていることも便利なポイントです。
(詳しくバリデーションについて知りたい方は、Laravel公式ドキュメントもしくは日本語訳サイトをご覧ください)
2つ目が、Laravelの便利さです。
1つ目のメソッドのように、本当だったら長くなってしまうコードや自身でメソッドを作成する必要がある場合でも、すでにLaravel側で用意されているものを使って簡潔に書けるというのは非常に強みだと感じました。
一方で、この便利さに頼り切ってしまうと、表面的な理解で止まってしまうことも考えられます。
以前、既存のコードを横展して開発していた際に、コレクションメソッドのplunk(多次元配列にて、指定したキーによる絞り込みを行うもの)が使用されていたので、同じ機能であれば必要だろうと深く考えずに新規コードに取り入れてしまいました。
ですが、このメソッドの用途を理解していないがゆえに、コードレビュー時に質問に対して正しく答えられませんでした。
このように、便利さに頼りすぎず、「そのメソッドがどう動いているか」など、自分で理解を深めにいく必要があるなと感じました。
4.学び
入社半年がたったこのタイミングで基礎知識を固められたのは良かったなと思いますし、学ぶ環境が整っていることにも有難さを感じました。
今回一番の学びは「基礎の大切さ」です。
土壌がしっかりしていないと、どんなに大きな木を植えても成長は止まってしまいます。
エンジニアスキルも同様に、基本が染み付いているかどうかで成長速度・角度は変わってくると思います。
どうしても目の前のタスクに意識が傾いてしまいがちですが、「常に学び続ける心」や「基本に立ち返ること」は心の片隅でも良いので常に置いておこうと思いました!
最後までご覧いただき、ありがとうございました!