コードリーディング

Tech

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

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

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を用意す...