Month: June 2018

バリデーションの実例

新しい連載を始めます。 Laravelは、出来合いのヘルパーやバリデーションがあり便利です。もの凄くたくさんあり覚えらないというほどの数ではないですが、すべてを頭の中で保持しておくのも大変です。また、こういう使い方では結果はどうなるのとか、実際に実行してみないとわからないことあります。

リクエスト(Request)のあれこれ

Laravelで、リクエスト(Request)というのは、ブラウザを通してユーザーから送られる情報をすべて含んでいるオブジェクトのことです。例えば、会員登録のフォームなら、画面でユーザーが入力したEメール、パスワード、名前、住所だけでなく、何のブラウザを使用したか(User Agent)、どのIPから送られたか、どのURLからアクセスしたかなど、また、会員ログイン後の画面なら、会員認証において保存されたクッキーもブラウザを介して、リクエストに含まれます。 リクエストの使用 リクエストの代表的な使用は、以下のようにコントローラのメソッドのパラメータです。以下は、Laravelのドキュメントからのコードから引用からですが、会員登録画面でのPOSTされたときにコールされるstoreメソッドです。 また、Httpのミドルウェアでも、handle()のパラメータとして利用されています。 ミドルウェアと言えば、コントローラのコンストラクタでも$requestにアクセスが可能です。 ユーザーの入力値の抽出 先のリクエストのオブジェクトから、ユーザーが入力した値を取り出すには、以下のようにいろいろなメソッドがあります。 まず、入力値を全部とりだす。$inputは、連想配列の変数です。 フォームからではなく、クエリのデータ、例えば、http://localhost/user?x=10&y=20 のxとyの値 を取り出すには、 ちなみに、all()や、input()には、すでにクエリのデータも含まれています。 今度は、指定した入力値だけを取り出すには、 いろいろありますね。違いとしては、 入力値が連想配列なら、 つまり、 のようなフォームのときは、 と、inputは使えますが、get()は使えません。 最後に、例えば、http://localhost/user?name=yamadaのような、クエリからの指定の値を取ってくるには、以下のどれでもOKです。 となります。