Laravelを利用する際は、なるべくフレームワークに準拠した名前で命名するのが最初は楽です。変えることもできますが、最初は郷に入ったら郷に従えと。
それでは、Laravelフレームワークに沿ってコントローラーを作る場合、
FooController
Fooが固有の名前+Controllerと名付けましょう。
それではatrisan先生にひな形を生成してもらいます。
php artisan make:controller FooController
すると、app/Http/Cotrollers/FooController.phpができるので、
適宜修正します。L4と比べると、名前空間の記載が必要なので、use〜というのが増えてますね。fooという名前でViewを作ってみます。色々な機能(REST)がデフォルトで入ってきますが、今回はindexだけを作ってみます。
indexとは、http://hostname/foo/ を開いた場合になります。
viewでは、fooはコントローラーで付けた名前で、小文字で指定します。
<?php namespace App\Http\Controllers;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class FooController extends Controller {
/**
* Display a listing of the resource.
*
* @return Response
*/
public function index()
{
return view('foo');
}
}
コントローラーが出来たら、ルーティングを設定します。ルーティングとは、/foo/でアクセスしたときの参照先である、FooController.phpを指定します。
app/Http/routes.phpを編集します。
以下を追加します。http://hostname/foo/でアクセスしたとき、
FooControllerクラス(FooController.php)を参照すると言う意味です。
routes.phpの使い方は、L4と基本同じです。
Route::resource('foo','FooController');
さて、これで、viewをつくってみましょ。
まずは、簡単にHTMLを表示する例です。
app/resources/views/foo.blade.php
を作成します。
L5には、bootstrapテンプレートが最初から入っているので、テンプレートを拝借してみます。
@extends('app')
@section('content')
<div class="container">
<div class="row">
<div class="col-md-10 col-md-offset-1">
<div class="panel panel-default">
<div class="panel-heading">Fooのテスト</div>
<div class="panel-body">
こんにちは、fooです。表示してまっか?
</div>
</div>
</div>
</div>
</div>
@endsection
問題無ければ表示されるはずです。

最近のコメント