コードリーディング

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】MacroableでPHPのオーバーロードを学ぶ

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

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

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

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

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

【Laravel】orderedUuidはversion4っぽいorderedなUUIDを生成している

Str::orderedUuid()は先頭の48ビットでタイムスタンプで表しているため、順序が保証されるらしい。 はじめに Laravelのmigrationsでテーブルを作成する際は、 $table->id() としてidカラムがPKにな...
Tech

WPScanによるxmlrpcの検証方法

WordPressではXML-RPCの機能がデフォルトでは有効になっています。最新のWordPressのバージョンでは、XML-RPCに取って代わるREST APIが機能として存在するため、用途はほぼ皆無であると思います。 「WordPre...
Tech

WordPress 5.6以降から実装されるアプリケーションパスワード

WordPressのREST APIは、WordPressに保存された投稿データ等をシステム間で連携するときのインタフェースとして利用する場面が多いです。これまでは、AWS WAFで対向システムのIPのみ許可するとか独自でOAuthを用意す...