- PHPの学習は終えたけど次は何を勉強すればいいの…?
- PHPのフレームワークではLaravelが有名だけど、具体的にどんな勉強をすればいいの…?
- フレームワークの勉強ってどう進めるのがいいの…?
このような疑問をお持ちの方に向けて、この記事では僕がLaravelを習得するまでに実際に取り組んだ勉強内容や本をご紹介します。
この記事を読むことで、Laravelを独学で習得するための勉強方法やオススメの本が分かります。
フレームワークとは?
そもそもフレームワークとは
アプリ開発を効率化するために誕生した「骨組み」
のことです。
どういうことかと言うと、世の中にはあらゆる種類のアプリやソフトウェアが存在します。
それらは開発意図によってそれぞれ異なる機能を持っています。
しかしその一方、どのシステムにおいても共通して実装される機能が存在します。
- ログイン機能
- フォーム送信機能
- DB操作
などがそうです。これらを毎回イチから開発することは手間であり、コストもかかります。
この問題を解消するために誕生したのがフレームワークと呼ばれる技術であり、LaravelはPHP開発を効率化するためのフレームワークの1つです。
Laravelを習得するまでに取り組んだ勉強
僕が実際にLaravelの学習で取り組んだ内容がこちらです。
- 書籍による基本的な使い方・仕組みの学習
- 【開発演習】TODOアプリ
- 【開発演習】掲示板サイト
基本的な流れはPHPの学習と同じ、
基礎学習 → 開発演習
の流れですが、Laravelの学習にあたっては重要だと思うポイントがあるためまずはそちらをお伝えします。
繰り返しになりますが、LaravelがPHP開発を効率化するために誕生したフレームワークの1つであることはお伝えした通りです。
つまり、Laravelを習得するというのは
フレームワークの使い方を覚える
ということでもあります。
素のPHPを勉強する場合と何か違うの…?
と思った方もいらっしゃるかと思います。
素のPHPに限らず、プログラミング言語を勉強する場合、実は勉強の目的が2つ存在します。
- 基礎文法の理解
- アルゴリズム力の向上
一方、Laravel(フレームワーク)の勉強においては
- フレームワークの使い方の理解
が主な目的となります。
つまり
ということです。
これはプログラミング学習においてかなり大きな違いで、特に本を利用する段階において、その勉強方法が変わってきます
前置きが長くなりましたが、これを踏まえた上で、ここからは実際に僕がLaravelを習得するまでに取り組んだ勉強内容をご紹介していきます。
Laravel習得の学習内容① 基本的な使い方
Laravelの学習には以下の書籍を利用しました。
こちらの書籍の良いところは、Laravelの基本的な仕組みが網羅的に分かりやすく説明されている点です。
僕は「知識の取りこぼし」をなるべく避けたいと考えており、「とりあえず何となくは知っている」という状態を作りたかったためこちらの書籍を選択しました。
こちらの書籍を通じて具体的に取り組んだ勉強方法は以下の通りです。
- コードを打ち込まず、本を読み進めながら主要用語をメモする
- 同時にLaravelではどのような流れで処理が実行されるかを整理する
特に重要なのが2です。
前述したように、Laravelにおける学習目的は「フレームワーク(Laravel)の使い方の理解」です。
そのために最も重要なのが、Laravelがどのような仕組み・流れで実際に動くのかを理解することです。
これはLaravelに限った話ではなく、現実に存在するものを例に挙げると(少し極端かもしれませんが)自転車や車の乗り方を覚えることと同じです。
仕組みや処理の流れの理解に重点を置くことで、Laravelの使い方をより効率的に学習することが可能となります。
そのため、僕がまず大切にしたのが
Laravelではどのような流れで処理が実行されるかを整理する
という点でした。
実際、ここをきちんとノートに整理し、出来る限り頭の中でイメージを繰り返したことで後述するTODOアプリ開発の際にスムーズな理解が促されたと実感しています。
処理の流れに沿って実装すれば良いので、そこをきちんと整理できるだけで理解がかなり進みます!
ただ、この「処理の流れを整理する」際の注意点として、一気に理解しようとし過ぎないことが挙げられます。
これは個人的な感想ですが、素のPHPと比較して難易度がさらに増したというのが正直なところです。
PHPの学習内容の記事でもお伝えしているのですが、実は僕は過去にPythonのフレームワークの1つであるDjangoの学習経験があります。(※Laravelに挑戦するときには学習した内容はすっかり忘れていました)
その経験を踏まえても、少なくとも僕にとってLaravelは難しかったです。
Laravelだけに言えることではありませんが、プログラミング学習で覚えるべきことは非常に多く、それらをすべて一度に理解することは不可能です。
まずは大まかな流れを抑え、細かなところは実践練習を通じて少しずつ埋めていく
ということを繰り返すのが、本当の意味でのプログラミング習得に繋がっていくと考えています。
Laravel習得の学習② 【開発演習】TODOアプリ
Laravelの開発演習としてTODOアプリを開発しました。
TODOアプリ開発における目的はこちらです。
学習①で整理・理解した内容を踏まえ、LaravelによるWebアプリ開発の基本的な流れを体感する
学習①では出来る限りLaravelが動く仕組みやその流れの理解に努めました。
しかし
理解している≠出来る
です。
そのためまずは、開発の基本的な流れを体感することを目的としてTODOアプリ開発に取り組みました。
また、PHPの際に登場したDB操作の基本(CRUD)がLaravelではどのように変わるのかを確認する意味合いも大きかったです。
Laravel習得の学習③ 【開発演習】掲示板サイト(発展編)
TODOアプリが開発できた時点で「習得した」と言ってしまっても良かったのですが、個人的な実感としてはもう一段階、踏み込んだ理解が欲しかったため掲示板サイトの開発にも挑戦しました。
このとき実装した内容は次の通りです。
- 会員登録機能
- ログイン機能
- スレッド作成機能
- 投稿機能
- スレッドお気に入り登録機能(※後述するajaxを使用)
この開発ではより実践的なスキルの習得を目的としました。
そのため
- 会員登録機能を設け、ユーザ別のデータ管理
- スレッドお気に入り登録機能を設け、実用性を向上
といった仕様を敢えて取り入れることで開発難易度を上げました。
難易度を上げたと言っても、さすがはフレームワークLaravelで、素のPHPで開発するのと比較してずいぶん早く開発できているという手応えがありました。
学習を開始してからまだ経験が浅い段階ではありましたが、フレームワークを使用するメリットを体感することができ良かったと感じています。
まとめ
以上がLaravelを習得するまでに取り組んだ勉強内容でした。
ここまでの内容を整理してみましょう。
- 書籍による基本的な使い方・仕組みの学習
- 【開発演習】TODOアプリ
- 【開発演習】掲示板サイト
繰り返しになりますが、Laravelに限らず、フレームワークの学習において最も重要なのは
そのフレームワークの仕組み・処理の流れを理解すること
です。
そして、これをきちんと理解することが、そのフレームワークの使い方の理解に繋がっていきます。
だからと言っていきなり完璧を求め過ぎず、まずは大枠から理解していくことも大切です。
この記事がお役に立てたなら何よりです。
このブログではプログラミング独学に役立つ知識やスキルを発信しています。
また別の記事でお会いできたなら光栄です。
この記事で紹介した書籍