PHP

Tech

[WordPress] ACFのJavaScript APIを使ってselect2フィールドをカスタマイズする

WordPress の カスタムフィールドのプラグインである ACF (Advanced Custom Fields) には、多数のフックや JavaScript API が用意されています。 やること 今回は、JavaScript API...
Tech

【Laravel】laravel-modulesでmiddlewareの登録をする

Laravel で手っ取り早くモジュラモノリスやるときは laravel-modules を良く使います。 Modules 配下に各モジュールを配置しているためファイルがモジュール毎にまとまっており、内部設計的にはシンプルでわかりやすいと思...
Tech

【Laravel】preventAccessingMissingAttributesの挙動+おまけ

preventAccessingMissingAttributesの挙動 Laravel の Eloquent を利用してデータを取得する場合、特に列の指定がなければすべての列情報を取得してきます。 $user = User::find(1...
Tech

【Laravel】JSON型のカラムにindexを生成してもindexが効かなくなった

本稿では、JSON型のカラムにindexを貼ってみたものの、Laravelで想定通りindexを使ってくれなかったケースを紹介します。 JSON型カラム MySQLのJSON型って便利ですよね。あらかじめデータ構造を定義する必要が無いので、...
Tech

PhpStormで「Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?」が出たときの対処法

Docker Desktop for Macを使っている場合の話。 問題 PhpStormでDocker用にインタプリターを構成してPHPUnitを実行したところ、以下のメッセージが表示されました。 Cannot connect to th...
Tech

【Laravel】MacroableでPHPのオーバーロードを学ぶ

PHPのオーバーロードを説明する上でLaravelのMacroableがちょうど良いと思ったので。 マクロについて Laravel内部の一部のクラスには、独自に定義したメソッドを追加できる「マクロ」という機能が備わっています。 マクロを追加...
Tech

WordPressプラグインを強制的に無効化にするSQL

何度もやってしまったので備忘録として。。。 はじめに WordPressでインストールしたプラグインの不具合が原因で WSoD(真っ白な画面) が発生したり、SiteGuardでログインページを忘れてしまったりして、正常なログインが出来なく...
Tech

【Laravel】EloquentのsaveではCarbonオブジェクトをStringに変換している

はじめに Eloquentを利用すると、以下の①、②のどちらのパターンでも保存することが出来ます。 $foo = Foo::getModel(); // ①明示的にStringを渡す $foo->fill([ 'datetime' => C...
Tech

WordPressのサイトでLCPを改善する

長かったLCPとの戦いが一段落ついたので備忘録的に。 はじめに LCP (Largest Contentful Paint) は、PageSpeed Insights (Lighthouse) で計測されるパフォーマンスに関する指標の1つで...
Tech

「永続オブジェクトキャッシュを使用してください」が気になったのでコアを覗いてみた

はじめに WordPress 6.1から、サイトヘルスステータスにて永続オブジェクトキャッシュの使用がレコメンドされるようになったようです。 こちらの対応としては、ホスティングプロバイダーが提供するキャッシュサーバーを確認し、 W3 Tot...