🔍

【おさると学ぶLaravel】Viewファイルはここにある!🐒

に公開

みなさん、こんにちは!
Blue Jeans/HANAにどハマりしている おさる 🐒 です笑
最近は好きな曲たちをリピート再生しながら、資格取得に向けた勉強などをしています!

そんな中、社内のLaravel勉強中のエンジニアさんからこんな質問が...

おさるさん、LaravelでViewファイルはどこに入ってたっけ

ということで今回はLaravelディレクトリを紹介していきます!

❓ Laravelってなに?

Laravel(ララベル)は PHPでWebアプリを作るときの便利な道具箱(フレームワーク) です。
https://laravel.com/
そしてLaravelは「MVC」という仕組みを使って動いています。

MVCって何?

下記の記事にて紹介していますので、よければご覧いただけますと幸いです🙌

【今更聞けない】「MVCアーキテクチャ」とは?
https://zenn.dev/osaru07m/articles/2af42e02027b86

👀 全体から見てみよう!

試しにsampleというプロジェクトを作成します。
下記のコマンドで作成した直後のディレクトリ構成をざっくり見てみましょう。

laravel new sample

今回では、sample/がLaravelプロジェクトのルートディレクトリです。

sample/
├── app/
├── bootstrap/
├── config/
├── database/
├── public/
├── resources/
├── routes/
├── storage/
├── tests/
└── vendor/

最初は「ディレクトリ多すぎ!」と思うかもしれませんが、ご安心を!

基本的によく使う場所は限られていて、
特にフロント側の作業で触るのはresources/viewsです。

🖼 Viewファイルはどこに?

今回質問にあった「Viewファイル」はresources/views/にあります!

この中に Bladeテンプレートファイル(.blade.php を置きます。
例えばwelcome.blade.phpが最初から入っているのですが、これはトップページの表示に使われています。

✍️ 簡単に使ってみよう

ビューファイルを作成する

今回はhelloというBladeテンプレートファイルを作成します!
そして、下記のコードを記述しました。

resources/views/hello.blade.php
<!DOCTYPE html>
<html>
<head>
    <title>Hello</title>
</head>
<body>
    <h1>こんにちは、Laravel!</h1>
</body>
</html>

ルートファイルを編集する

次にroutes/web.phpを編集し、今作成したBladeテンプレートファイルを表示してみましょう!

routes/web.php
Route::get('/hello', function () {
    return view('hello');
});

これでブラウザでhttp://localhost/helloにアクセスすると、
先ほど作ったhello.blade.phpが表示されます! 🎉

🗂 他のディレクトリもサクッと紹介

View以外にもよく触るディレクトリがあります。

ディレクトリ 説明
app/ アプリの処理をまとめる場所。
名前のとおり「アプリ(app)の中身」なので、コントローラ(リクエストを受け取る役)やモデル(データベース担当)が入ります。
routes/ ページの入り口を担当し、ルーティングの設定を行うファイル(web.php など)が入ります。
public/ 公開される静的ファイル(index.php(Laravelを動かす為の処理等が書かれたもの), 画像, CSS, JS)が入ります。
config/ 基本設定のような設定ファイルが入ります。
database/ マイグレーションやSeederなど、データベース全般のファイルが入ります。

✅ ここまで理解・記憶できていればOK!

Laravelのディレクトリ構成は一見ごちゃっとして見えますが、
まずは resources/viewsapp/routes/ の3つを押さえておけば大丈夫です。👍

  • ページの見た目は resources/views/
  • 実際の処理は app/
  • ページの入り口(URLの割り当て)は routes/

この3つがつながるイメージを持てれば、Laravelでの開発がグッと楽になります💡

📝 まとめ

  • LaravelのViewファイルはresources/views/にある
  • .blade.phpという拡張子でテンプレートを書ける
  • ルーティングと組み合わせると、自由にページを増やせる

Laravelは複雑そうに見えて、実はとても簡単で便利なフレームワークです🙌
ぜひ僕と一緒に Laravelマスター になりましょう笑💪

Discussion