Laravel:ログイン・ログオフ2(ビューの作成)

タグ: Laravel3  

ログインフォームを作成しましょう。LaravelのテンプレートエンジンであるBladeを使用します。

application/viewsフォルダーにlogin.blade.phpを作成します。

@if ( Session::has('warning') )
{{ Session::get('warning') }}
@endif
@if ( Auth::guest() )
{{ Form::open() }}
<p>
{{ Form::label('username', 'ユーザー名:') }}
{{ Form::text('username', Input::old('username', '')) }}
{{ $errors->has('username') ? $errors->first('username') : '' }}
</p>
<p>
{{ Form::label('password', 'パスワード:') }}
{{ Form::password('password') }}
{{ $errors->has('password') ? $errors->first('password') : '' }}
</p>
{{ Form::submit('ログイン') }}
{{ Form::close() }}
@else
{{ Auth::user()->username }}さん、既にログイン済みです。
@endif

Bladeは制御構文として@ifなどが使用できます。これは<?php if (...) : ?>に展開されます。

{{ }}はシンプルに<?php echo ... ; ?>に展開されます。

LaravelのFormクラスとHTMLクラスが生成するHTML要素の出力はe()メソッドを通されます。これにより、最終的にhtmlentities()を通されることになります。

Auth::guest()はログインしていない時にtureです。逆のチェックをするAuth::check()もあり、こちらはログイン時にtrueになります。ログイン時はAuth::user()により、そのユーザーの情報を取得できます。

テストしてみましょう。application/routes.phpに以下のコードを追加してください。

Route::get('login', function() {
    return view('login');
});

ブラウザでloginにアクセスしてください。ログインフォームが表示されます。