PHPを学び始めたら、まもなく「Laravel(ララベル)」を耳にする機会があるかと思います。
40代でPHPを学びはじめた頃の私もLaravelのことを知り、本を読んだりしましたが、なかなか理解できず。
「Laravelは簡単だ」と言われているだけに、
自分の理解力が悪いんだろうな…
とへこみました。
とはいえ、HTMLから入ってPHPを学んできたような人のためのコンテンツって、あまりありません。
そこで本ブログでは、以前の私のようなプログラミング初心者にも分かるように、Laravelを説明していきます。
まずはPHPのすごさから見ていきましょう
Laravelとは、PHPのフレームワークです。
そこでまずは、PHPの人気度から見ていきましょう。
PHPは現在、Webサイトの77.5%*で使われています。約8割のサイトが、PHPで作られているわけです。なかなか、すごい数字ですよね。
*参考:W3Techs 調査結果:https://w3techs.com/technologies/details/pl-php
具体的には、下記のようなサイトがPHPで作られています。
- フェイスブック
- Wikipedia
- Slack
- ココナラ
- Schoo
- WordPress
- EC-Cube
WordPressで使われている時点で、圧倒的なシェアですよね。
Laravel(ララベル)とは、PHPのフレームワーク
こんな圧倒的シェアを誇るPHPのフレームワークが、Laravelなわけです。
フレームワークとは枠組みのことです。
いや、でも、フレームワークと言われても、イマイチピンとこない
そんなふうに思う方のために、ちょっと、大胆にたとえてみますね。
フレームワークとは、言ってみれば、バーベキューセットみたいなものです。
いちからバーベキューの準備をしようと思うと、肉や野菜選んで、そして細かく切ったりしなきゃいけません。
でもバーベキューセットがあれば、そんな必要はありません。
同じように、いちからPHPでプラットフォームを作るとなると大変ですが、Laravelのようなフレームワークにはすでに機能が準備されているので、効率よくプログラムが組めます。
たとえば、会員制サイトに必要な認証機能などが、Laravelにはあらかじめ備わっているのです。
さらにLaravelを使えば、セキュリティ対策もしやすくなる。
Webサイトは狙われやすく、詐欺が絶えません。プログラミングを組む際には、詐欺対策を行う必要がありますが、これが、なかなか大変。
こういった部分も、Laravelはカバーしてくれるので安心です。
フレームワークはLaravelだけか
なおPHPのフレームワークは、Laravelだけではありません。
どちらかというと、Laravelは新参者です。
PHPには、Laravelが登場する以前にCake PHP や Fuel PHPといったフレームワークがありました。ですが、これらはイマイチ浸透しませんでした。
またPHPと同じくWeb系プログラミング言語にRuby(ルビー)というのがありますが、RubyにはRuby on Rails(ルビーオンレイルズ)というフレームワークがあり、こちらは使いやすいと人気でした。
そんな状況の中で登場したのが、Laravelです。
Laravelが最初にリリースされたのは、2011年6月。今から11年ほど前です。
その後、使いやすさと機能の高さから一気にユーザーを増やしていきました。
これを示したのが、下記の図です。Laravel, Cake PHP, ruby on rails の3つの検索ワードを比較したGoogleトレンドの結果となります。
【Laravelへの注目度の高さを示すGoogleトレンドの結果】
参考:Googleトレンド検索結果 https://trends.google.co.jp/trends
期間はLaravelがリリースされた2011年6月1日~2022年8月10日となります。この図を見ると、Laravelが一気に注目されていったことが分かりますね。
ただGoogleトレンドで分かるのは、Googleで検索された結果です。注目具合を見るには良いのですが、この結果だけで、Laravelの性能が一番良いとはいえません。
他のフレームワークにも良い部分はあるので、このあたりはご注意ください。
とはいえ、もしあなたが
今からフレームワークを学びたいけど、どれが良いかな
と悩んでいるなら、PHPを学習済みでしたら、Laravelをおすすめします。
注目度も高いし、案件数も多いからです。
ただ、もしRubyを学んでいるのでしたら、Ruby on Railsがおすすめ。LaravelのためにPHPを学ぶより、今既にある経験や知識を活かしたほうが効率が良いからです。
Laravelの構造~MVCモデル
では次に、Laravelの構造にうつります。
Laravelは、MVCモデルを使っています。MVCモデルは、Model(モデル)とView(ビュー)とController(コントローラ)の3つ機能+ルーターで構成されます。
それぞれの役割は次のとおり。
【Laravelを構成する機能の役割】
M:モデル | データベースにアクセス |
---|---|
V:ビュー | 表示するページ |
C:コントローラ | ページごとの処理を書く |
ルーター | 処理の振り分け |
うーん。分かるような、分からないような。
結局、MVCモデルってなに?
熟練プログラマのひつじさん、教えて。
MVCモデルだね。
一目で説明するなら、こんな感じだよ。
- ルーターが処理を振り分ける
- コントローラがページごとに処理を行う
- 処理によってはモデルとやりとりして、データベースから情報を取ってくる
- 準備した内容をビューで表示させる
- ユーザーの画面に反映される
うん。分かった気がする。
なんとなく。
それじゃ、具体例で説明するね。
たとえばログインページにアクセスするでしょ。このとき、
- ルーターが認証をするよう、処理を振り分ける
- コントローラーは、モデルに「このアカウントって正しい?」と確認する
- モデルはデータベースと照合して、あっているかどうか確認した結果を返す
- コントローラーはビューに結果を伝える
- アカウント情報がデータベースにあれば、ビューはログイン後の画面を表示させる。
こうしてユーザーは無事、ログインができるんだ。
なるほど。まあ、大分分かりやすくなったよ。
よかった。
「いや、でも実はよくわからない!」と思った方(私もそう思いました。)は、マンガ仕立てで説明してみたので、良かったらこちらも見てくださいね。
Laravelはプログラミング初心者には難しい
ざっと、Laravelとはどんなものか、説明してきました。
Laravelは一般的に使いやすくて便利といわれます。
ただプログラミング初心者には、言われているほど簡単ではないと感じます。
たとえばLaravelはコマンドラインを使って命令ができます。
Windowsならコマンドプロンプト、Macならターミナルというツールを使います。
プログラミングに慣れている人にとっては、コマンドを使えるのは便利らしいです。
ですが、HTMLから入ってPHPを学んでみたプログラミング初心者(=以前の私)には、そもそもコマンドの打ち方がよく分からない。
挫折防止のために、「Laravelって言われているほど簡単じゃないかも」と心づもりをしておいたほうが良いかもしれません。
コマンドを使えるなんて、超便利なんだけど。
そうかなぁ。
私はLaravelは簡単っていうから、ワードプレスみたいな感じかと思っていたよ。
え。
Laravelを学べる教材
ということで、プログラミング初心者にはちょっと敷居が高いLaravelですが、どのように学んだら良いのか。
わたし自身の経験から、Laravelを分かりやすく学べる教材って、意外と少ないと感じます。
わたしは最初に本や動画講座をいくつか試してみたものの、難しすぎたりして挫折しました。
最終的にはUdemyで英語の動画講座を見つけました。
英語が得意で、コードをとにかく最初から書いていきたい!という場合は、UdemyのEdwin先生による「PHP with Laravel for beginners」講座がおすすめです。
Udemyは、こちらをクリック
↓↓↓
ただ、どんどんコードを書いていく実践的内容だったのでハードですし、動画だけだと、あとからコードを見返したりするのが大変です。
また、Laravelがバージョンアップしたため、講座の内容が少し古くなっています。
もしあなたが、「最新版の内容を教えてほしい」「Laravelを基礎から分かりやすく知りたい」と思ったら、学習サイト「Laravelの教科書」をご利用ください。
こちらは、Laravelを学ぶ時に苦労した経験をもとに、わたし自身が作成した学習サイトです。
動画とテキストの両方で学習できます。
【Laravelの教科書・抜粋】
たとえば、次のようなことが学べます。
-
- Laravelの基本構造
- 投稿を作成・保存・更新・削除するときのコードの書き方
- データベースの構築方法と、データの抽出方法
- ユーザーによって表示や動作に制限をかける方法
- ほか、Laravelからメールを送信する方法や、役割の付与方法など。
学習をしながら、実際のフォーラムサイトを作っていく実践的な内容になっています。
最新版のLaravel9にも対応しています。
現在、基礎編を無料プレゼント中。詳しくは、こちらのページを見てみてくださいね。
さいごに
ということで、Laravel入門講座1回目終わります。
最後に小話ですが、Laravelの語源は、ナルニア国物語に出てくる王都「ケア・パラベル」に由来します。
ファンタジー好きな私は、Laravelにちょっと親近感を持ちました^^
それでは次回はLaravelの環境準備について書いていきたいと思います。
インストールが必要なものが色々あるのですが、分かりやすく解説していきます