PHPもJavaScriptもまだまだ勉強中の身ですが、特に来年は「Laravel」と「React」を中心に身に付けていきたいと考えております。
その中で先行して、12月の半ば頃から、ある程度PHPの基礎は身についたかなと思い、念願の!Laravelの学習を始めております。
新しい知識を身に付けるのは本当に楽しいですね。
よく好んで視聴させて頂いてるプログラミング系のYouTubeの配信者さん(Udemyの講師さん)も、
知識を学んだ際のアウトプットの場所の1つとして、
プログラミングの学習記録をブログとして残すのはアウトプットの方法として、とても望ましい手段の1つ
と仰っておりましたので、素直に鵜呑みにさせて頂くことにします。
という事で、今回の記事から「Laravel」について学習を始めたプログラミング初心者である私が、
ゆっくりではありますが、その学習記録をブログ記事として残させて頂こうと思っております。
同じような境遇の方の参考になったり、また「Laravel」を含めたプログラミング言語を学ぶきっかけになったりすれば良いなと思っております。
前置きが長くなりましたが、それでは下記からの本文をどうぞ!
そもそも「フレームワーク」とは?
「Lalavel」は、まず「PHP」と言うプログラミング言語がある中で、
いくつかある〔フレームワーク〕と呼ばれるモノの1つになります。
〔フレームワーク〕は「Lalavel」以外にいくつもあるのですが、
2023年、現在においてはその中で最も主流で多くのプログラマーが使用しているとされている、Lalavelを私も学ぶ事にしました。
まず〔フレームワーク〕と言うワードがここで登場しましたが、
似たような関連用語に〔ライブラリ〕があります。
先に〔ライブラリ〕を説明すると、ライブラリとは、事前に必要な機能をまとめてある【パーツ】みたいなもので、
その【パーツ】を外部から自分のコードに書き写す(呼び出す)ようなイメージです。
まず大枠に自分のコードが徒然と記載してあって、その中に必要なライブラリを書き足していきます。
私は図書館みたいなイメージで解釈しています。
自分のコードに足りない知識や情報を、図書館からその問題を解決できるような参考書を「必要に応じて」借りてくるようなイメージです。
不要な知識や情報は借りてくる必要が無いので、欲しい参考書だけを借りてくる(自分のコードに書き写す)って感じです。
自分と同じようなプログラミング言語学び始めの方で、パッと思いつく〔ライブラリ〕の1つに【jQuery】があります。
jQueryはJavaScriptのライブラリの1つです。
jQueryと言うプログラミング言語がある訳では無くて、書き方は異なるものの、結果的にはJavaScript言語に変換されて、ブラウザに動作します。
そして、jQueryにはプラグインと呼ばれる、既に機能が出来上がってるパーツが、先人たちの手によって既に数多く用意されています。
例えば「スライダー」の機能だったり、「バリデーション」の機能だったり、実際にJavaScriptで書く場合は長くなってしまうような機能も、
簡単にかつ短いコードを自分のコードに書き写す(呼びだす)だけでで実装することが出来るのです。
対して〔フレームワーク〕も似たような動きをするので、混同してしまいますが、
フレームワークはライブラリと異なり、既に動作するパーツ自体を持ってくるわけでは無くて、
色々な機能を簡単かつ便利に実行する事ができる【枠組み】をまず導入して、
その中でフレームワークのルールに沿って自分の実行したいコードを書いていきます。
ライブラリは自分のコードの中に必要な部品(パーツ、ライブラリ)を書き込んでいくイメージ。
対してフレームワークは、導入したフレームワークと言う枠組みの中で、そのルールに沿って自分のコードを書いていくイメージです。
なのでLaravelに関しても、PHPのフレームワークの1つなので、その従うべきルールを学習する必要があるのです。
その代わり、ある程度フレームワークを導入した時点で多くの機能を実装できる『下準備』が既にできている状態ですので、
あとはルールに乗っ取ってコードを書いていけば、爆発的に開発が楽になるという仕組みです。
Laravelを導入すためには?(本記事では詳細は割愛)
Laravelを導入するに辺り、いくつか準備が必要になります。
・そもそもローカルのPHPの開発環境を準備する(XAMPP、MAMP)
・「Composer」と呼ばれるパッケージ管理をするシステムをインストールする
・必要に応じてターミナル(コマンドプロンプト)を開いて、黒い画面を操作する
などいくつか準備をしたうえで、ローカルでのLaravelの開発環境が整い、学習を始める事が出来ます。
ただ、本記事ではローカル環境の構築については省かせて頂きます。
他のもっとためになるサイト様であったり、書籍などに詳しい開発環境の作り方は記載してあると思います。
(自分も書籍等を参考にして、環境を構築しました)
WindowsとMac、また使用しているテキストエディタでも若干環境の構築方法は異なると思いますし、
本記事の目的が『自身の勉強のアウトプットの場として』と言う意味合いが強いので、
細かい各々の環境構築方法については割愛させて頂きます。
LalavelはMVCモデルを採用している
Laravelは〔MVCモデル〕と言う考えを採用しています。
MVCモデルとは
・モデル(Model)
・ビュー(View)
・コントローラー(Controller)
の頭文字を取っており、機能を↑の3つに分けて、役割を分担させることで、
それぞれに独立性を持たせたり、修正の際の修正箇所を見つけやすくなったりします。
大まかに説明すると
・モデル ▶ データベースとのやり取りなどを担当
・ビュー ▶ 閲覧者に見える部分を担当
・コントローラー ▶ モデルとビューをコントロールする部分
と言う感じです!細かい詳細はそれぞれの学習の際に、記事に出来ると思います。
また、上の3つとは別に『ルーティング』と言う処理の部分がありますので、そこも追って学習していきます。
まとめ
これからLaravelを学ぶにあたって、基礎の背景の部分を今回記事にしてみました。
・「Laravel」はPHPのフレームワークの1つである
・2023年現在は、PHPのフレームワークの中ではLaravelが主流とされる
・ローカル開発環境を作るには「Composer」と言うシステムをインストールしたりする。(開発構築の詳細は省きました)
・Laravelは「MVCモデル」である
次回から実際にテキストエディタを用いて(本記事ではVSCode)Laravelのコードを書いていきたいと思います。
それでは!
コメント