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
にアクセスしてください。ログインフォームが表示されます。