Laravelを始めようか悩んでいるプログラミング初心者
PHPでサービスを作るならLaravelが良いって聞くから早速始めてみようと思うんだけど大丈夫かな?なにか準備とか必要?
今回の記事ではこんな方に向けて記事を書いています。
- Laravelの学習は難しい
- Laravelの学習を始めるべきタイミングを知りたい方
- Laravelの学習に入る前にやるべきことを知りたい方
この記事を書いている僕はエンジニア歴7年で、スマートフォン向けのゲーム開発や社内SEとして実務経験を積んできました。最近はプログラミング学習で悩みを抱えている初学者の方を、MENTAというオンラインサービスで指導させて頂き、プログラミング学習のサポートからエンジニアとして内定が貰えるまでのサポートを行ったりしています。
未経験からWebエンジニアを目指すためにLaravelの学習を始めたはいいけど、タイミングを見誤って始めたため、何も理解出来ず挫折してしまう方がとても多いです。
挫折の要因としては主に下記のような内容が挙げられます。
- そもそも環境構築が出来なくて始められない
- 環境構築が終わったけどそこから何をしたら良いかわからない
- 書いてあるコードの意味がわからない
そこで今回の記事ではなぜプログラミング初心者にLaravelは難しいのか、Laravelの学習を始めるべきタイミングを解説して行きたいと思います。
最後にはLaravelを学習するために必要な知識を学べる書籍や動画を紹介するので、Laravelを本気で学びたいと考えている方は是非最後まで読んでみてください。
Laravelの学習は決して簡単ではない
「Laravelを使って簡単にXXXを作ろう!」みたいな情報がネット上にはたくさんありますが、Laravelの学習は決して簡単ではありません。
最初の壁は環境構築
冒頭でも少し触れましたが、Laravelの環境構築はプログラミング初心者の方にとっては鬼門です。
Laravelの環境構築の方法は公式サイトにも記載はされていますが、いきなりLaravel Homesteadとか言う良くわからない単語が出現し、さらにLaravel Homesteadを使わない場合は下記の要件を満たす必要があると書かれています。
- PHP >= 7.3
- BCMath PHP拡張
- Ctype PHP拡張
- Fileinfo PHP extension
- JSON PHP拡張
- Mbstring PHP拡張
- OpenSSL PHP拡張
- PDO PHP拡張
- Tokenizer PHP拡張
- XML PHP拡張
正直これを見ただけでLaravelの学習を諦めたくなってくる方も多いと思います。
自動でファイル群が生成される
Laravelでは環境構築が終わった時点で、下記のようなディレクトリ(フォルダー)が作られ、初期ページ(ウェルカムページ)を表示するためのファイルが自動で生成されています。
- app
- bootstrap
- config
- database
- public
- resources
- routes
- storage
- tests
- vendor
これらのディレクトリは用途が別れており、決められたルールでファイルを配置していく必要があります。
Laravelの様なフレームワークを今までに活用したことがある人であれば馴染みがあるかもしれませんが、Laravelが初のフレームワークだった場合は、それぞれのディレクトリの使いかたを理解するまでに多少の時間がかかる事でしょう。
コードを理解するのが難しい
Laravelには開発者がより少ないコードの記述で開発を進められるように様々な仕組みが導入されています。
しかしこの仕組みが導入されている事により、どこでどんな処理が行われているのか理解するのが大変なコードになっています。
PHPが読める現役エンジニアの方でも、Laravelのコアな部分のコードを追うのは一苦労なので、PHPを一度も書いた事が無い人が理解するのはかなり困難を極めます。
Laravelの学習を始めるべきタイミング
Laravelを学習するのは簡単ではありませんが、より適切なタイミングで学習を開始することで、効率的に理解をすることが出来るようになり、挫折する可能性も下げることが可能です。
では具体的にどのタイミングでLaravelの学習を開始するのが良いかと言うと、PHPがある程度読めて、データベースの知識がついてから始めるのがベストです。
- PHPの基礎学習
- データベースの基礎学習
PHPの基礎学習
Laravelを学習する前には必ずPHPの基礎学習として、Progateの学習コースと道場コースを全て行い、下記の内容を理解出来るようにしましょう。
- 変数、配列
- if分岐
- for, whileなどのループ文
- クラスの作成方法
- 関数(メソッド)の定義方法、呼び出し方
Laravelを使いこなすには上記の内容だけでは圧倒的に足りていませんが、まずは上記を使えるようになることを目標にしましょう。
データベースの基礎学習
Laravelを学習する上でデータベースは切っても切り離せない関係です。
ログイン機能を作るとなったらユーザーの情報を保存する必要があります。投稿機能を作ったらその投稿内容を保存する必要があります。
これらの保存先がデータベース(DB)です。
Laravelにはデータを保存するためのテーブル構成をファイルに記載すると、コマンド1つでテーブルを生成してくれる便利なコマンドが搭載されています。
しかしこのテーブル定義のファイルの中身は自分で書く必要があるので、この作業を行なう時にProgateで学べるようなデータベースの基礎学習が役立ちます。
さらにLaravelにはEloquentと言うデータベースからのデータ取得を簡単に書けるようにしてくれている仕組みがあります。
これによりデータベースの知識やSQLの書き方を知らなくてもデータの取得をすることは可能ですが、実際に裏ではどの様なSQL文が発行されているかを知っておくことで、効率の良いデータ取得方法を考えることが可能になります。
Laravel学習前におすすめのPHP学習方法
Laravelの学習の事前準備としては1番最初にやるべきなのは、ProgateのPHPです。
そしてその後の、一段階上のレベルのPHPを習得するには下記の学習方法がおすすめです。
- 書籍でPHPの学習をする
- 動画学習
- 簡単なPHPのプログラムを自作してみる
PHPの能力を書籍で高める
Progateはあくまで1番基本的な部分を学ぶためのサービスなので、Progateで学習しただけでは1つのサービスを作れるようにはなりません。
そこでPHPの情報が詰まっている書籍を1冊購入して読むのは1つの学習方法としてありです。
PHPの基礎はGoogle検索を活用しても得ることは出来ますが、中には間違った情報も混じっています。
それらの情報を取捨選択(フィルタリング)する手間を考えると、PHPが学べる書籍を1冊購入して置いたほうが、好きなタイミングで見返すことが出来ます。
サンプルプログラムはバージョンなどの問題で動かなかったりするのであまり期待出来ませんが、PHPの言語仕様の解説が網羅されており内部処理を理解するには良い書籍です。
完全なるPHP初心者には少し難しい内容ですが、言語仕様は頻繁に変わるものでも無いので、少しずつPHPの理解を深めていくのに活用しましょう。
動画学習でPHPを学ぶ
プログラミングを学習している方の中には書籍で学習するのが苦手という方もいると思います。
その場合はドットインストールやUdemyなどの動画教材を使って学習するのがおすすめです。
ドットインストール
ドットインストールとは、1本3分程度の動画からプログラミング言語を学べる動画学習サイトです。
無料で視聴できる動画と有料の動画が存在しますが、基礎編以外の動画以外はプレミアム会員になれないと見れないものが多いです。
プレミアム会員(月額1080円)になると動画レッスンの文字起こし、ソースコードの閲覧などの機能が使えるようになります。
大量の動画を毎月定額で見れるのでお得ではありますが、基礎編以上の内容の動画は古いものが多く参考にならない事もあるのが欠点。
Progateで学んだ内容を動画でも復習しておきたい方にはおすすめ出来るサービスです。
Udemy
Udemyは言わずともしれた世界最大級の動画学習プラットフォームです。
このUdemyでは様々なジャンルの学習を動画で行うことができ、その中にはエンジニアに向けたプログラミング言語の動画も存在します。
これらの動画は基本的には購入形式なので、無料で視聴できる動画は少なく、動画の値段も高いものが多いのが唯一の欠点です。
ただしUdemyでは定期的に開催されるセール期間があり、このセール期間中はなんと動画が半額以下の値段で購入することができます。
セール期間中に興味がある動画を買い占めて、週末や空いた時間にじっくり見るのがおすすめです。
Progateの内容もカバーしつつ、その一歩先の学習までが網羅されている動画です。
書籍で学べるようなPHPの言語仕様はこの動画では学習出来ませんが、Progateの次のステップとしてはおすすめ出来る動画です。
簡単なPHPのプログラムを自作してみる
プログラミングはどんなに時間を使って知識を増やしても、コードを書いていかないと上達はしません。
そこでProgateで学んだ知識を生かして簡単なPHPのプログラムを自作して、理解度を深めてみるのもありです。
開発を進めていく上で躓いてしまった場合は、Google検索を活用することでほかの2つの学習方法よりも検索力が付くというメリットがあります。
検索力はエンジニアになるためには必須スキルなので、このタイミングで養えればLaravelの学習でも必ず役に立つことでしょう。
正しい順序で学べばLaravelは使えるようになります
プログラミングは順序よく学んで行けば誰もがエンジニアを目指せるチャンスはあります。
しかし順序を間違うと非効率的な学習方法になってしまい、そのせいでモチベも下がり挫折もしやすくなってしまいます。
Laravelの学習を少しでもスムーズに進めるためにも、基礎学習をしっかりと行い、ある程度のPHPとMySQLが理解出来てからLaravelに挑むようにしましょう。
おすすめ動画
基礎だけ学ぶ PHPプログラミング講座
おすすめ動画
PHPからLaravelまで サーバーサイドをとことんやってみよう【初心者から脱初心者へ】【わかりやすさ最重視】
おすすめ記事
MySQLコマンドの使い方一覧!DBの接続方法やレコードの検索方法をコマンド付きで解説!
おすすめ記事
Laradockを使ってLaravel6の環境を構築する手順をコマンド付きで解説!データベースの設定もあり!