【php】MVCの基本

今回から少しPHPも勉強していきます。

今回の目的

今回は基本であるルーティング、コントローラ、ビューを作成して
Hello World!という文字を表示させます。  

環境

PHP 7.3.18
Doctor(仮想環境)
Laradock
lalabel(フレームワーク)
※今回は開発環境は準備できている前提にします。  

手順

1.ルーティングの作成
/routes/web.phpを以下のように編集

<?php

Route::get('/hello','HelloBotController@index');

getメソッドに対して2つの引数を渡してます。
/helloはURLです。localhost/helloのURLを示してます。
HelloBotController@indexはコントローラの処理を示してます。  

つまりまとめると「localhost/hello」にアクセスした際に   HelloBotControllerのindexアクションに定義された処理をするという
理解になります。

2.コントローラの作成
まずは以下のコマンドでコントローラを作成します。  

docker-compose exec workspace php artisan make controller HelloBotController

php artisan make controller〜のコマンドでコントローラを作成します。

・注意
docker-compose exec workspaceは著者の環境では
Docker Composeという仕組みを使っているため使用してます。
そのため開発環境によっては不要です。  

次にコントローラの処理を記述します。 app/Http/Controllers/HelloBotController.phpファイルを
以下のように編集します。

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class HelloBotController extends Controller
{
    public function index()
    {
        return view('hello.index')   
     }
}     

public〜を追記してます。indexアクションをhello.indexのviewを
return(表示させる)するように記述してます。

3.ビューの作成
/resources/viewsフォルダに/hellobotフォルダを作成して
index.htmlのファイルを作成します。  

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <title>hello-bot</title>
</head>
<body>
  <h1>Hello world!</h1>
</body>
</html>

以上の設定ができていれば以下のような画面になります。 Image from Gyazo

まとめ

PHPを触ったのが初めてでしたが 流れはrailsとあまり変わらないことを実感できました。 コードの書き方やメソッドなどは順次覚えていきたいです。

気づけばプロ並みPHP 改訂版--ゼロから作れる人になる!