【Laravel初級】Laravelのインストール方法とフォルダ構成を解説!

PHP Programming

こんにちは。あっきーです。
プログラミングを勉強して、Webサービスやゲームを作っています。

Webサービスを作りたい方はPHPを勉強されている方が多いと思います。そしてPHPのフレームワークであるLaravelというものを使おうと思っているはずですね。

今回はその初めの一歩として、Laravelのインストール方法とそのフォルダ構成に関して分かりやすく解説していきます。

Laravelの特徴などは【Laravel入門】初心者がいきなりLaravelを使うべき理由MVCモデルとは?Laravelの構造と合わせて分かりやすく解説を見てください。
また、XAMPPなどローカル環境はすでに構築できている前提でお話します。
環境
・Windows10
・VS Code
・XAMPP, PHP 7.4.11
・Laravel 8.5.8

それでは、行きます。

Composerをインストール

LaravelはComposerというものを利用してインストールしていきます。Composerについて簡単に説明しておくと、Composerは図書館みたいなものです。

図書館には、いろんな本があって、読みたい本を読んだり借りたりしますね。

同じように、Composer(図書館)にはある機能を持ったファイル類(本)がたくさんあって、自分が使いたい機能を持ったファイルを各自インストールしていくという形になっています。

つまり、Laravelは図書館にある本の一つということです。
また、このLaravelにいろんな機能を搭載したいときも、Composerから別のファイルを持ってきて使うことができます。

ということでインストールします

Composerのダウンロード画面に行ってダウンロードするだけです。簡単ですね。
Composerをダウンロード

ダウンロードしたものを立ち上げてセットアップ完了です。

composerがインストールできたら、Command Promptというアプリを立ち上げます。

画面左下の検索窓(Windowsメニューの隣)で”Command Prompt”と打てば出てきます。また、今後このアプリにはお世話になるので、タスクバーなどにピン留めしておきましょう。

開いたらcomposerがインストールされていることを確認しましょう。以下のコマンドを打ちます。

composer -v

いろいろ出てくると思いますが、バージョンが確認できればOKです。

そして、次にLaravelをインストールします。

composer create-project laravel/laravel sample_app

なんかいろいろ表示が出てきて数分時間がかかりますが、気長に待ってください。

インストールが終わると、C: > User > 自分のユーザー名 > sample_app というフォルダが出てきたと思います。この中にLaravel用のいろんなファイルが入っています。

Laravelのインストールは以上です(楽勝~)。

サーバー立ち上げをしてみる

実は、このインストールだけでWebページのサンプルができていています。

このsample_app フォルダをVS Codeで開いてください。

そして、VS Code内でターミナルを動かします。
上のツールバーからTerminal > New Terminalを選択してください。

そして、以下のコマンドをこのターミナル内で打ちます。

php artisan serve

するとhttp://127.0.0.1:8000みたいなURLが出てきたと思うので、これをGoogle Chromeで立ち上げてみてください。

こんな感じの画面にが出れば成功です。

今後Webサイトなどを構築していくときは、このローカル環境を使っていくのでこのphp artisan serveは覚えておきましょう。

Laravelのフォルダ解説

先ほどのsample_appフォルダの中にはすでにいろんなファイルが入っていたと思いますが、いくつか解説していきます。大まかな内容はMVCモデルとは?Laravelの構造と合わせて分かりやすく解説で解説しているんですが、もっと詳しく見ていきます。

今後操作していくものは以下の通りです。(vendorまではフォルダ)

  • app
  • config
  • database
  • public
  • resources
  • routes
  • vendor
  • .env
  • composer.json

appフォルダはModelControllerの作成に使う

appフォルダの中には、4つほどフォルダがあると思うんですが、基本使うのは以下の二つです。

  • Models
  • HTTP (の中のControllers)

MVCモデルとは?Laravelの構造と合わせて分かりやすく解説でもお話した通り、MVCモデルの”M”と”C”がここで構成されます。

Modelsでは、例えば「ユーザー登録をさせるんだけど、メアドとかは自由に決めてもらっていいけど、IDは好き勝手に設定させない!」といった設定が可能です。
つまり、データベースに何かを保存するときにのルール決めができます。

HTTPフォルダの中にはControllers/code>フォルダがあり、この中では、いわゆるPHPらしいことをします。
例えば、「ユーザーの名前やパスワードを取得して、データベースに保存する。んでHome画面に誘導する」というような操作をするところがこの部分です。

configは設定用のフォルダ

configフォルダでは設定の変更ができます。
と言っても、あまりいじることは無くて、いじるとしてもほとんどがconfigフォルダの中にあるapp.phpです。

composerで新しく機能をインストールしたときにここで設定を加えることがよくあります。

databaseではテーブルの作成などを行う

databaseフォルダは、データベース内にテーブルを追加したりするものです。
この中のmigrationsというフォルダを見るとすでにいくつかファイルがあると思います。

例えば、create_user_table.phpというファイルでは、「userという名前のテーブル内容」が書かれています。テーブル内容というのは、例えば「ユーザー名、パスワード、メールアドレス」などです。

これをphp artisan migrateというコマンドを使うことでデータベース内にテーブルを作成することができます。

publicにはcssなどのリソースを入れる

publicフォルダは、実際にユーザーがアクセスできるファイルを置くところです。
基本的に、ここでは、CSSやJavaScriptなどのファイルを置くことがほとんどです。

ここに置いたCSSファイルなどを読み込むことでWebページをデザインすることができます。

resourcesではViewの作成をする

resourcesは、実際に画面に表示するファイル(CSS, JSなど)を置くところです。
実はCSSやJavaScriptのファイルはここにおいてもOKです。(ただ、publicフォルダの方が分かりやすい)。

ここでお世話になるのはviewsフォルダで、ここに画面に表示させるファイルを作成していきます。
要はHTMLファイルをこの中に入れていくということです。(厳密にはbladeファイルというものを使いますが、結局HTMLです)

routesは、URLの設定を行う

routesでは、URLの設定をします。お世話になるのはこの中のweb.phpファイルです。

例えば、「http://example.com/home」ではホーム画面を映す。「http://example.com/login」ではログイン画面を映す。
のように、URLごとに何の操作をするかを決めるのがこのファイルのお仕事です。

「ホーム画面を映す」みたいな操作は厳密にはCotrollerが行います。Controllerの中のどの処理を行うかを決めるのがrouteの役割です。

vendorは、composerから持ってきたファイルを置く

vendorは、composerからインストールしてきたファイルを置くところです。
基本的にこのフォルダ内には手を加えないんですが、「composerから持ってきたファイルは自動的にここに入るよ」ということを理解してもらえればOKです。

.envは、設定を行う

.envでは、Webサイト等の全体設定を行います。
サイト名だったり、どのデータベースに接続するかの設定だったりを行う場所になります。

composer.jsonでは、composerからのファイル情報が入る

composer.jsonは、composerからインストールしてきたファイルの情報が入ります。
vendorはファイルそのものが入ってくるんですが、composer.jsonは「バージョン〇〇の、△△ファイルが入っていますよ」という情報が入っています。(要は管理人)。

これもcomposerからインストールしたときに勝手に変更されるので、基本何も手を加えません。
ただ、「composerからインストールしてきたけどやっぱりいらなかったわ」という場合にここの情報を消すことで、アンインストールできます。

ということで、ざっくり理解できればOKです

いろいろ、話しましたが、ぶっちゃけそこまで頑張って覚えなくてOKです。
結局、習うより慣れよなので。

Laravelのインストールができたら、どんどん開発に進んでいきましょう。
(後日更新)

以上です。ではでは。

スポンサードサーチ

オススメ英語学習用SNS "Our Dictionary"

人気記事英語学習用SNSをLaravelで作ってみた【システム解説あり】