Facade で作られてるんだろうけど…どこ…? と思っていたら、
http://laravel.com/api/class-Illuminate.Support.Facades.Facade.html
にありました。 んで、
Input::all()
とかがない…と思ってたら、
http://laravel.com/api/class-Illuminate.Http.Request.html#_all
にありました。Http > Request > input() という感じの階層的な感じ。 まとめられるものはまとめて、ユーティリティ的な切り出しは Facade で作る、 という感じ。
むむ。 FuelPHP (Codeigniter 流?) のドキュメントは親切だったなぁ…。
さておき、フォームで入力値をリポピュレイトするときに、害がない範囲で trim するときなんかに、 どうしようと調べてたら、
@HiroKws さんの記事 "Laravel:ログイン・ログオフ3(フォームの処理)" にヒントがありました。(感謝!)
で、 app/filters.php に
<?php Route::filter('trim_inputs', function() { $inputs = array_map('trim', Input::all()); Input::replace($inputs); });
みたいに書いて、 ルーティング app/routes.php に、
<?php Route::post('login', array('uses' => 'UserController@login'))->before('trim_inputs');
とか書いておいて、view ファイルに
<?php {{ Form::text('email',Input::old('email',''), array('required' => 'required')) }}
とか書いてあると、リポピュレイトされた値が trim されるようになった。
blade テンプレートでデフォルトの <title> と個別タイトルを @section で連結しようと思ったら、どうしても改行や空白が入ってしまって困ったり、まだ色々 laravel4 奮闘中…。 (Twig つかうといいのか?)
おしまい。