ミドルウェアをもっと知ろう(2)ミドルウェアを作成NEW!
前回に紹介したLaravelのグローバルミドルウェアですが、必要に応じてカスタムのミドルウェアを作成することも可能です。今回は、入力文に含まれる禁止用語を自動的に隠す(***で置換する)ミドルウェアを例として作成します。
前回に紹介したLaravelのグローバルミドルウェアですが、必要に応じてカスタムのミドルウェアを作成することも可能です。今回は、入力文に含まれる禁止用語を自動的に隠す(***で置換する)ミドルウェアを例として作成します。
LaravelのミドルウェアはHttpのGETやPOSTなどのリクエストでアプリに入ってくるリクエストの中身をチェックしたり必要なら変えたりする重要なコードです。このミドルウェアの設定は、L11.x以前ではapp/Http/Kernel.phpというファイルの中身に含まれていてわかりやすかったのですが、L11.x以降はLaravelのライブラリの奥に入ってしまい日の目をみなくなってしまいました。これらを引っ張りだしてLaravelのミドルウェアがどのように使用されているか紹介します。
テストを書くとき、テストパターンや入力値の組み合わせが増え、データの管理が煩雑になりがちです。Pestではwith()やdataset()を使って基本的なデータ整理ができますが、後から読んでも理解しやすい・修正しやすいコードを目指して、Combining DatasetsやSharing Datasetsを活用し、テストコードを整理してみます。
皆さんは、DGFTのベリトランスの支払決済のPHPのSDKキットを使用したことありますか? それを利用するには彼らのウェブサイトからファイルをダウンロードして、プロジェクトに置いてそれをパッケージとしてインストールします。今回はその仕組みの説明です。ローカルにパッケージを作成してそれをcomposer requireします。
PestはPHPUnitの上に構築された、テストをよりシンプルに書くためのフレームワークです。そのPestが公式に推奨しているLaravelのためのプラグインpest-plugin-laravelを使って既存のテストを書き直してみました。Pestが掲げる「読みやすく理解しやすい」テストコードに、少し近づけるでしょうか。
javascriptを書かずに動的でリアクティブなアプリが作れるlivewireですが、既存のjavascriptやjQueryで行っていた事をlivewireでも実現しようとすると「はて、どうすれば良いだろうか?」と手が止まることがあります。直近でドラッグ&ドロップで並び替え可能なテーブルをlivewireで実装する機会があり調べたので忘れない内にまとめたいと思います。
今回は、composer.jsonでrequireやrequire-devにリストされるパッケージのバージョンに関して説明します。今まで気にもとめていなかった ^11.9などの意味を解明します。
PHPUnit11でテストを実行すると、実行後の出力に「PHPUnit Deprecations」というメッセージが表示されるようになっていました。@testなどの慣れ親しんだアノテーションはPHPUnit12からサポート外となるようですので、新しいアトリビュートへ変更します。
Laravel 11.xがリリースされてから暫く経過していますが、やっと手持ちのLaravel 10.xのプロジェクトの更新作業に取り掛かっています。今回もLaravel Shiftのサービスを使用していますが、Laravel 10.xからLaravel11.xへの更新をすべて自動で行ってくれるわけではないです。
誰しも、composer create-project laravel/laravelのコマンドで新規のLaravelのプロジェクトの開発を開始します。Laravelが凄いのは、この実行後にすぐにプロジェクトを立ち上げて(php artisan serve)ブラウザでサイトを閲覧することが可能となることです。その実行では画面に英語でいろいろと経過が表示されますが、いったい何が起こっているのでしょうか?