ID , 'noindex' , true)){ echo ''; } ?>

(Laravel) コントローラの作成方法〜使用方法(基本)

 

本記事では、
Laravelの、Controllerの作成方法から、基本的な使用方法までを解説する。

まずは大まかに、
Laravelの、Controllerの作成方法〜使用方法までを紹介する。

 

laravelのcontroller作成方法〜使用方法
  1. コマンドでコントローラを作成する(php artisan make:controller 〇〇Controller)
  2. 「app→Http→Controllers」内にコントローラが作成される
  3. ファンクションを記述していく

 

では注意点なども含め、詳細に説明していく。

 

laravel のコントローラとは?(読み飛ばしOK)

まずは、laravelのコントローラが何かよく理解していない人のために、
laravelのコントローラとは?と言うことを明確にしておく。

laravelのコントローラとは、簡単に言うと、
ブラウザからのリクエストを受け取って、リクエストに応じたを処理を実行する機能のことだ。

 

laravelのコントローラとは

ブラウザからのリクエストを受け取って、リクエストに応じたを処理を実行する機能のこと

 

laravelにおいて、
コントローラはロジックを一番多く記載する箇所なので、
プログラム上一番重要な役目をになっている機能と言っても過言ではない。

laravel-controller

 

viewとかmodelはcontrollerから呼ばれるものなので、なくてもなんとかなるが、
controllerは、アプリの始まりなので、laravelにおいて必須のプログラムとなっている。

 

 

Laravelでのコントローラの作り方




では、本題。
Laravelでのコントローラの作り方について解説していく。

 

laravelコントローラはコマンドで作成

laravelのコントローラは、laravelではおなじみの
artisanコマンドでコントローラを作成できる。

# laravelのコントローラを作成

php artisan make:controller 〇〇Controller

 

「php artisan make:controller」までが「コントローラを作って!」という命令で、
「〇〇Controller」がコントローラ名となっている。

 

例えば
php artisan make:controller CharcterController」と言った具合に作成する。

 

laravelコントローラの命名規則

laravelコントローラの命名規則としては、
上記コントローラの作成手順で、〇〇とした部分にアプリ名を入れると言う規則がある。

 

[box class=”green_box” title=”laravelコントローラの命名規則”]

コントローラの作成時、〇〇Contorollerとするところの〇〇に、アプリ名を入れる、。

[/box]

 

 

※これはlaravelのコントローラの命名時に、通常そうするってだけで、別に違っても構わない。

 

 

laravelコントローラのできる場所

laravelのコントローラは、コマンドで作成した後は、
「app→Http→Controllers」内に出来上がる

laravelコントローラの作成場所

 

 

laravel コントローラの使用方法

laravelコントローラの作成に関しては以上なので、
次にlaravelのコントローラの使用方法について簡単に説明していく。

 

laravelコントローラを記述していく

作ったコントローラファイルの中にfunctionを書いていく

public function index($hoge=‘ほげげ’, $fuga=‘ふがが’’) {
…処理...
}

 

ファンクションは何個でも記述できる。どのファンクションを呼ぶかはルーティングで指定する。

 

ルーティングからコントローラを呼び出す。

コントローラに記述した内容は、ルーティングから呼び出される。
ルーティングのファイルは「Routes→web.php」。

laravelのルーティングに関しては、以下の記事で詳細をまとめているので、laravelのルーティングについて理解していない人は参考にして欲しい。

 

ルーティングからコントローラを呼びだす方法

web.phpにて

Routes::getまたはpost(‘パス’ , ‘コントローラ名@ファンクション名’);

 

以下はFooControllerのindexファンクションを、getで呼び出す例

Route::get(‘hello/{hope?}/{fuga?}/‘ , ‘FooController@index’);

 

注意したいのは、パラメータの渡し方

上記だと、パスに指定した{hoge}と{fuga}がパラメータとしてindexファンクションに渡される。
受け取る側の「‘FooController@index’」という記述の方には何も書かなくて大丈夫だ。
コントローラに記載するfunction側で受け取る引数だけを記述しておけばOK。

 

ルーティングでコントローラを呼ぶときの注意点

基本的にはurlと、紐づけるプログラムは同じ構造にする。

例えば

Route::get(‘hello/hoge’ , ‘HelloController@hoge’);

というふうにする。

上記なら,「hello/hoge」にアクセスしたら、Helloコントローラにあるhogeファンクションなんだなっていうのが想像つく

つまりアクセスするパスで、呼び出されるコントローラと、対応するファンクションが予測できるような構造にする、ということが大事だ。

これもこうじゃなきゃいけない!っても

 

関連

(Laravel) ルーティングを基礎から理解する
(Laravel) ビューの役割・使い方を解説
(Laravel) bladeのディレクティブの使い方を解説
(Laravel) bladeのレイアウトの使い方
(Laravel) コンポーネントとサブビューの違い
(Laravel) ビューコンポーザの使い方
(Laravel) ミドルウェアの使い方を解説
laravel-validation
laravel-validation-outof-controller
(Laravel) DBクラスとクエリビルダの違い・使い方
(Laravel) マイグレーション実施手順
(Laravel) シーディングの 実行手順
(Laravel) Eloquentの使い方を解説
laravel-somtimes-validation
(Laravel) migrationやり直しコマンドあれこれ

 

https://readouble.com/laravel/8.x/ja/controllers.html

https://qiita.com/yukibe/items/7bab0d596ae9a0930f18

 

 

記事が気に入った方はシェアをお願いします!

コメントを残す

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