見出し画像

【 PHP 】 Laravel編⑥ 「MVCモデルの記述方法」  FirE♯520

Laravelの処理の流れの基本が、MVCでした。

【 MVCモデル 】

Model   ・・・・・データベースとのやりとり 
View    ・・・・・見た目
Controller  ・・・・・処理

この3つの機能と、併せてこちらもあり。

Routing  ・・・・アクセス振り分け
Migration 
・・・・DBテーブルの履歴管理


【 Routing 】

ルーティングの役割は、アクセスしたユーザーを、コントローラーに振り分けることです。

このファイルはこちらです。

app / routes / web.php 

app / routes / web.php 



■  web.php

routesフォルダの中の、web.phpが、ルーティングファイルになります。

<?php

use Illuminate\Support\Facades\Route;

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/

Route::get('/', function () {
    return view('welcome');
});


use App\Http\Controllers\TestController;

Route::get('tests/test', [TestController::class, 'index']);


初期では、直接viewに飛んでしまうことになります。

Route::get('/', function () {
    return view('welcome');
});


追記文です。

use App\Http\Controllers\TestController;

Route::get('tests/test', [TestController::class, 'index']);

このコードは、teststest にアクセスしたとき
TestControllerに飛ばすという処理です。
index ' は、メソッド名です。

このメソッドを作ります。



【 Controller 】

Laravel編③ 「MVC」で、作成したコントローラのファイルを開きます。

app / Http /  Controller / TestController  です。

app / Http /  Controller / TestController 



■  TestController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class TestController extends Controller
{
    //

}


こちらのコードを追記します。

    public function index()
    {
        return view('tests.test');
    }

index というfunctionを定義します。 functionはつまり、メソッドです。

処理内容は、viewファイルの、testsフォルダの、testファイルへ、飛ばすです。

このtestsフォルダと、testファイルを作ります。


【 View 】

viewファイルの場所は、
resources / view  です。

ここにtestsフォルダと、testファイルを作ります。

<testsフォルダを作る>

resources / view / tests です。

resources / view / tests 


さらに、testsフォルダの中に、test.phpを作る
resources / view / tests / test.php です。

resources / view / tests / test.php

view ファイル名は、.blade を必ずつける決まりです。


■ test.blade.php

test.bladeファイルです。

このように書いておきます。

ブラウザで確認します。


【確認】

ターミナルでコマンドを実行します、

php artisan serve

サーバーを立ち上げて、
アドレスに、

http://127.0.0.1:8000/tests/test

と入力して、testファイルにアクセスします。

表示は、こうなります。

test.blade.php の内容が表示されました。


【 処理の流れ 】

再度、処理の流れを振り返ります。

① ユーザー/クライアントから受け取る
tests / testにアクセスする


②  <Routing>
app / routes / web.php ファイルが実行されます 

③  <Controller>
app / Http /  Controller / TestController
  へ処理が渡される

④  <View>
resources / view / tests / test.php へ処理が渡される

⑤ ユーザー/クライアントへ返す
test.php= 「test.bladeファイルです。」 が画面に出る

このような流れで、処理が行われています。



【 まとめ 】

MVCの流れを学びました。

次回は、データベースを経由してViewを表示する方法を学びます!!


この記事が気に入ったらサポートをしてみませんか?