[コピペでおk] Laravel超入門

LaravelでHello World

[コピペでおk] DockerでLaravelを動かすまとめ

[コピペでおk] DockerでLaravelを動かすまとめ

プログラミングを始めようと思ったらまずは開発環境を整えなければなりません。そのために一番ラクな方法は自分のパソコンでDockerを使えるようにするところからです。誰でもかんたんにDockerを使えるようにしてPHPフレームワークのデファクト…

プログラミングを始めようと思ったらまずは開発環境を整えなければなりません。そのために一番ラクな方法は自分のパソコンでDockerを使えるようにするところからです。誰でもかんたんにDockerを使えるようにしてPHPフレームワークのデファクト…

前回までの記事でDockerでLaravelのWelcomeページが表示できたと思います。今回はLaravelでHello Worldをしたいと思います。はろーわーるど?なにそれ?

Hello Worldとはプログラミングのはじめのはじめの第一歩で必ずと言っていいぐらい最初に表示する言葉なんです。まあこんにちわ、(プログラミングの)世界ってことだと思います。

MVCの事は避けて通れません

うーん、むずかしい言葉がいきなりでてきて構えた人もいるかもしれませんが・・・Model(モデル)、View(ビュー)、Controll(コントロール)の略です。

ユーザがブラウザをつかってアクセスしてきたら最初に処理するのがコントローラーです。コントローラーがモデルを呼び出してデータを加工してビューに渡して表示するという流れです。

モデルの定義がすごく色々あるのですが、LaravelではDB操作をするものとざっくり覚えてください。今は。色々書くとまじでわからんってなるとおもいますのでこの程度で大丈夫です。

まずはコントローラーをつくります

Laravelのディレクトリ構成としてコントローラーはapp/Http/Controllers以下に置きます。これはフレームワークの決まりですのでここにおいてください。

ではエディタで、以下の内容をコピペしてください。もちろん自分で書き写しても問題ないです。むしろ自分で書き写したほうが覚えます。

ファイル名は HelloworldController.phpとしてください。ファイル名の大文字小文字は大変重要ですので間違えないように。

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\View\View;

class HelloworldController extends Controller
{
    public function index(Request $request)
    {
        return 'Hello World';
     }
}

次にルートファイルをつくります

ルートファイルはURLと処理するコントローラーを定義するところで、ここに書くことでこのURLにはこのコントローラーのこのメソッドで処理するということが実現できます。ルートファイルあらかじめ用意されていて、routes/web.phpです。そのディレクトリには他にもファイルがありますが、まずはweb.phpだけで大丈夫です。

以下のように追加してください。今書かれているのはそのままで大丈夫です。

Route::get('/helloworld', [App\Http\Controllers\HelloworldController::class, 'index']);

ブラウザでアクセスしてみる

http://localhost:8000/helloworld にアクセスしてみてください。 Hello Worldと表示されていると思います。

あれっ?ビューはどこに?

はい、Viewは今から書きます。LaravelのViewはBlade(ブレイド)と言われるテンプレートエンジンが採用されています。Bladeは大変強力な仕組みをもっていてBladeの中で条件分岐やループなどを行えます。まずはBladeテンプレートを定義していきましょう。まだ今はただのHTMLをblade.phpというファイルに書き込むだけですのでかんたんですね。(HTMLは別途覚えないとですが・・・)

Laravelのビューはどこに書くかというと、 resources/views に書きます。今回は特に気にせずに、ここに helloworld.blade.php というファイル名でつくります。

<!DOCTYPE html>
<html>
  <head>
    <title>Hello World</title>
  </head>
  <body>
    Hello World
  </body>
</html>

ただのHTMLですね。これを今度はコントローラーに戻って、コントローラーに読み込むように書き換えます。

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\View\View;

class HelloworldController extends Controller
{
    public function index(Request $request)
    {
        // viewヘルパで先程のBladeファイルを指定してあげます。blade.phpは不要
        return view('helloworld');
    }
}

これでまたブラウザで見てください。同じようにHello Worldが表示されていると思います。

さて、Laravel超入門でしたが理解できましたでしょうか。MVCのMは次回やるとして、コントローラーとビューとルートファイルをちょろっと更新すればブラウザ画面に表示されるというのはわかっていただけたとおもいます。

「いやあこれでもわからないなあ」「うーん」という方は、ぜひガチエンジニアプログラミングスクールにお問い合わせください。脱落者を出さないスクールを目指していますので、皆様といっしょにプログラミングの楽しさを味わっていきましょう