非IT企業に勤める中年サラリーマンのIT日記

非IT企業でしかもITとは全く関係ない部署にいる中年エンジニア。唯一の趣味がプログラミングという”自称”プログラマー。

【Laravel】コントローラの作成手順まとめ

   

Webページを処理するコントローラの作成手順をまとめました。

コントローラの作成

まず以下のコマンドでコントローラを作成します。末尾は任意のコントローラ名ですが今回はHelloControllerとしました。名前の最後にControllerと付けるのが命名規則のようです。

$ php artisan make:controller HelloController
 

 

作成されたコントローラーの確認

上記コマンドを打つと、/app/Http/Controllers/フォルダ内に先程指定したコントローラ名でphpファイル(HelloController.php)が生成されます。今回もroutesフォルダ内のweb.phpも使用します。

 

HelloController.phpの中身はこんな感じになっています。Controllerを親クラスとしたHelloControllerクラスです。

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class HelloController extends Controller
{
	//
}
 

 

コントローラーにアクション追加

HelloController.phpに以下のコードを追加しました。HelloControllerクラスの中にindex()という引数なしのメソッドを作り、その中にHTMLを返すようにしています。

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class HelloController extends Controller{
    public function index(){
        return <<<EOF
        <!DOCTYPE html>
        <html lang="en">
        <head>
           <title>Controller Test</title>
        </head>
        <body>
           <h1>Controller Test</h1>
        </body>
        </html>

        EOF;
    }
}
 

 

web.phpへの記述

次にweb.phpに以下を記述します。HelloControllerコントローラ内のindexメソッドを指定しています。この記述については前回書いたとおり参考書とちょっと違っていてフルパスで指定する必要があります。参考書はLaravel6のもので現時点の最新版は10のため古い情報だったようです。

Route::get('hello', 'App\Http\Controllers\HelloController@index');
 

 

動作確認

以下のコマンドでサーバーを立ち上げます。

$ php artisan serve
 

 

http://127.0.0.1:8000/hello/ をブラウザで開き以下のようになったら成功です。

 

とりあえずLaravelのコントローラの基本についてまとめました。これから値を渡したりしてどのような処理ができるか別途書きたいと思います。

 

スポンサーリンク

 - Laravel