Category: PHP

php8.0 のキャッチアップ – match式

巷ではLaravel 10がリリースされ賑わっていますが、最近私が担当した案件はL9へのUpgradeです。 いつもの様にLaravel Shiftが出してくれるPull Requestを眺めていると、見慣れない記法が出てきました。 調べてみるとPHP8.0から導入されてた記法でした。 PHP8.0がリリースされて間も無くキャッチアップしたはずなのですが、全く記憶にありません。 ということで、再度PHP8.0から導入された機能を復習しました。 いくつか取り入れたい記法を見つけたのでご紹介します。 今回はmatch式です。

フォルダーやサブフォルダ内のすべてのブレードファイル名の取得NEW! 

あるプロジェクトで使用されているブレードファイル内のHTML文の置換が必要となりました。aritisanコマンドを作成して、resources/viewsのファイル1つずつオープンして上書きが必要です。さて、問題はサブフォルダーやサブサブフォルダーがあるフォルダーからどうやってファイル名を取得するか。

phpdotenv

Laravelのプロジェクトでは、環境変数の設定は.envのファイルで行います。インストールするプロジェクトの環境(開発、ステージング、プロダクション)ごとで内容を変更できるし、.gitignoreに入れておけばバージョン管理のレポジトリでプライベートなデータ(パスワードやapiのトークンなど)を共有する必要もなく安全です。この機能、私の昔のphpのプロジェクト、つまりLaravel生誕以前の時代でのプロジェクトで現在もお客さんに使用されているプロジェクトでも取り入れたいです。

連想配列のマージ

今回はLaravelを離れてPHPのベーシックの話となります。連想配列(associative array)のマージに関してです。なかな知っているようで使用を間違うことがあります。 そういうきは、私が大好きなツール、tinkerを使ってちょいちょいと実行して確認してみるのが一番。

php5.6からphp7.0へ

最近になってようやくphp5.6の環境からphp7.0へと移行をしました。すでにphp7.2RCも登場している昨今、今さらなんて声聞こえますね。 カスタマイスのプログラムを書いてその管理を長い間していると、プログラムは大きくなるし複雑になるし、簡単にphpの更新ができない、いや馴染んだ古巣から新しい世界へ行くのが恐ろしい!