Laravel Controllerの作成


Laravel でControllerを作成する方法

例として、Postモデルの管理を行うコントローラを作成します。
この場合、PostsController という名前にします。

コントローラー、モデル、テーブルの命名規則

一般的に、
コントローラの名前:先頭大文字でモデル名の複数形(例:PostsController)
モデル名:先頭大文字で単数形(例:Post)
テーブル名:先頭小文字でモデル名の複数形(例:posts)
とします。

なお、モデル名がCategoryのような末尾がyのものは、
コントローラーはCategories、テーブル名はcategoriesとなります。

コントローラーの作成

以下のコマンドを実行します。
php artisan make:controller PostsController
実行すると、
\app\Http\Controllers
PostsController.php が作成されます。

-rオプションを付けて実行すると、いくつか代表的なメソッドを含んで作成されます。
php artisan make:controller PostsController -r

コントローラーを編集する

PostsController.phpを以下のように編集します。
<?php
namespace App\Http\Controllers;

use Illuminate\Http\Request;

class PostsController extends Controller
{
	public function index() {
		return view('index', compact('posts'));
	}
}

blade.phpを作成する

\resources\viewsindex.blade.phpファイルを作成します。
index.blade.phpを以下のように編集します。
<!DOCTYPE html>
<html lang="ja">
<head>
	<meta charset="UTF-8">
	<title>Document</title>>
</head>
<body>
	Hello World!	
</body>
</html>

web.phpを編集する

\routes\web.phpファイルを以下のように編集します。
<?php
Route::get('/posts', 'PostsController@index');

ブラウザで表示を確認する

以下のコマンドを実行します。
php artisan serve

ブラウザーでhttp://127.0.0.1:8000/postsにアクセスします。

Hello World!

index.blade.phpの内容が表示されていればOKです。

参考資料: LARACASTS Laravel 5.4 From Scratch (英語動画)



Special title treatment

With supporting text below as a natural lead-in to additional content.