速習Laravel 6: 「Part 3 Laravelの基本」整理

PHPの仕事としてはフレームワークのLaravelを扱った案件が多い。PHPの実務経験未経験者であっても,Laravelの実務経験が半年あれば,仕事を獲得できそうに感じたため,自社開発扱いにできるニート期間にLaravelの勉強を始めた。

ひとまず,「速習 Laravel 6」をKindle unlimittedで読んでいる。「Part 3 Laravelの基本」を読み終えて,大まかなLaravelの開発の流れがわかったので,メモとして記録しておく。なお,書籍内で扱われているサンプルプログラムは「速習 Laravel 6 – WINGS」から入手できる。

Laravelでの開発の大まかな流れは以下となる。

1. DBを作成

2. .envにDBの接続情報を記入

3. モデルクラスを作成 (app/Book.php)

php artisan make:model Book

モデルクラスはテーブル名 (複数形のbooks) に対して,単数形 (Book) とする。これでモデルとテーブルとが紐づく。

4. コントローラークラスを作成

php artisan make:controller HelloController

5. app/Http/Controllers/HelloController.phpにアクションメソッド (public functions) を追加

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Book;

class HelloController extends Controller
{
  public function list()
  {
    $data = [
      'records' => Book::all()
    ];
    return view('hello.list', $data);
  }
}

6. テンプレートファイルの作成 (resources/views/hello/list.blade.php)

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <title>速習Laravel</title>
  </head>
  <body>
    <table class =" table">
      <tr>
        <th>書名</th>
        <th>価格</th>
        <th>出版社</th>
        <th>刊行日</th>
      </tr>
      @foreach($records as $record)
      <tr>
        <td>{{$record->title}}</td>
        <td>{{$record->price}}円</td>
        <td>{{$record->publisher}}</td>
        <td>{{$record->published}}</td>
      </tr>
      @endforeach
    </table>
  </body>
</html>

7. ルーティング設定 (routes/web.php)

Route::get('hello/list', 'HelloController@list');

以上となる。

LaravelはMVCモデルに沿ったフレームワークであり,これらの考え方に沿って,役割ごとにコードを追加して開発していくようだ。

Part 4からはMVCのそれぞれの部分の作り込みが始まり,より細かい部分に入っていくため,ここで全体の流れを整理できたのはよかった。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です