設定なしでカスタムログファイルを作成(2)
プログラムの中のどこからでもカスタムログを作成できるようにしたのは前回の話。今回はそのログを例えば3ヶ月ごとにローテーションしてみます。
プログラムの中のどこからでもカスタムログを作成できるようにしたのは前回の話。今回はそのログを例えば3ヶ月ごとにローテーションしてみます。
プログラムの中で必要なときにちょろっとある情報をログに残したい、しかもlaravel.logではなくカスタム(ここが大事)のログファイルを作成して残したい、というのが私の願いです。さて、どうプログラムするか?
以前に「ティンカーでリクエスト(Request)」で、ティンカーにおいてRequestのオブジェクトをシミュレートできることを紹介しました。あれから数年、ヘルパー関数のrequest()にもティンカーで値を追加できる技を取得しました。
前回では、入力画面で投稿した入力値やバリデーションエラーを画面に表示するために、セッションを利用してそれらの値がキープされることを知りました。今回はそれらがどのようにコントローラで指示されるかを見てみます。
Laravelのブレードファイルでよく見かける、old()ヘルパー。エラーが起こった時に入力した値をキープしてエラーとともに入力項目に残してくれる優れものです。今回はこの仕組みを見てみます。
Laravelのヘルパーの関数は本当に便利なもので、日常よく使うものです。しかし、こんな使い方もあったのか、と知らない使い方を知って嬉しくなることあります。今回は私を嬉しくさせる、route()のヘルパーの紹介です。
Laravelのコントローラにおいて、abort(404)のヘルパーをコールすることで簡単に予期しないアクセスを、Not Foundのエラーページの表示ができます。しかし、Not Foundページの代わりにリダイレクトして違うページに飛ばしたいときには、redirect()のヘルパーをabort()同様に好きな場所で使うことはできません。
Windows 10では、ファイル名として使用してはいけない文字がいくつかあります。入力しようとすると、「ファイル名に次の文字は使えません」とエラーになります。さて、ダウンロードのファイルにこれらの禁止文字が使用されていたらどうしましょう?
もちろんのことなのですが、私のお客さんのプロジェクトは皆パブリックでアクセスできる開発サイトがあります。そこで開発をするわけでなく、あくまでも本サイトにインストールする前に変更をお客さんに見てもらい使ってもらい、フィードバックをもらうためのサイトです。その意味では、ステージングサイトと言った方が正しいですね(お客さんとの間では開発サイトと呼んでいます)。
Laravel 5.7の更新を終えて、次は最新の5.8への更新です。こちらも私が経験したことをもとに、いくつかの重要な更新箇所をここで説明です。