circleback

July 9, 2023

Laravel多言語化対応パッケージの裏側

Laravel多言語化対応の裏側です

1. Routeの準備部分

何度もコマンドを実行されても問題が無いように、既存のweb.phpをチェックして、このパッケージで追加されるコメント文を検出し、既にある場合は作業を実施しないようにしています

https://github.com/askdkc/breezejp/blob/1b83f7dc93461978c362e644aa5b8c342a3d267d/src/Commands/InstallLanguageSwitcher.php#L14-L26

image.png


2. Middleware追加部分

こちらも同様で、既にファイルがあるなら処理を実行されないように配慮しています👍

https://github.com/askdkc/breezejp/blob/1b83f7dc93461978c362e644aa5b8c342a3d267d/src/Commands/InstallLanguageSwitcher.php#L28-L35

image.png


3. Kernel追加部分

同様の処理なんですが、Kernelには同じ名前のMiddleware登録が多いです

流石にVerifyCsrfTokenを外す脆弱な人はいないと思うので、そこをターゲットに2のMiddleware登録を放り込むようにしております

image.png