PHP

PHP

composer installでcurlがURL rejected: Malformed input to a URL functionエラー

経緯Laravelのプロジェクトを新規作成するにあたって、miseで最新のPHP8.4.14を入れ、そのcomposerからlaravel/installerをインストールしようとしたら、下記のような謎のエラーが出ました。$ compose...
Laravel

PHP AlpineコンテナにXdebugをインストールしLaravelのカバレッジ表示を有効化する

Laravelでカバレッジを表示する php artisan test --coverage を使いたかったのでDockerのphp:fpm-alpineイメージをXdebugをインストールする方法を調べました。TL;DRコマンドラインap...
Docker

[PHP] Dockerイメージに1行でcomposerをインストールする方法とその解説

DockerfileなどでPHPのcomposerをインストールしたいとき、1行で書く方法メモ。以下でできます。curl -sS | php -- --install-dir=/usr/local/bin --filename=compos...
AWS

LaravelのStorageを使ってS3に書き込み・読み込みするサンプル

Laravelのファイルストレージシステムは、Storageファサードを通してローカルもS3も同じようにストレージとして扱える便利機能です。今回はその練習を兼ねて、フォームからPOSTされた文字列をAWS S3のファイルに書き込みと、それを...
Laravel

Laravelでリクエストボディを文字列で取得する方法

Laravelでリクエストボディを文字列で取得する方法$request->input()を使えばフォームやJSON入力から好きなキーで値を取得することができますが、リクエストボディをそのまま文字で取りたいときにどうするか、公式ドキュメントの...
Laravel

[Laravel] 全てのページで同じデータを表示したいときの効率的な方法

例えば。作っているサイトには全ページに常にサイドバーがあり、そこに最新のブログ記事(ここではPostモデルとします)の5件のリンクを貼るとします。全てのコントローラーでPostモデルへの同じ取得クエリを書くのは非効率的なので、どうにかしてま...
PHP

Vim + ALE + PHP_CodeSnifferでファイル保存時にPSR-2準拠に自動整形

コーディングスタイルの統一、重要ですよね。でも自力で正しく書くのは大変だから自動で整形してほしい。エディタに。ということで今回VimでPHPを自動整形する設定をしました。PHP_CodeSnifferPHPの構文チェックをするphpcsコマ...
PHP

[PHP] 連想配列からキーを指定してサブセットを作成する

配列関連の処理ってforeachとかを使わないで1行でクールに書きたいと常々思いますよね。今回は連想配列から欲しいキーだけを指定して部分集合を得るという方法について調べたのでメモです。TL;DR$subset = array_interse...
PHP

[PHP][cURL] curl_setoptのCURLOPT_HTTPHEADERで設定したヘッダーが反映されない

タイトルの通りcurl_setoptでヘッダーが反映されなくてハマったんですが、結局超ショボい話なのですが一応メモ。CURLOPT_HTTPHEADERに設定する配列は連想配列じゃありません!"キー:値"の文字列の配列です!というだけでした...
PHP

[PHP] 親クラスのstaticメソッドから子クラスでオーバーライドされたstaticメソッドを呼ぶ

PHPでクラス内からstaticメソッドを呼ぶ方法としてself::foo();のようにselfを使うことができますが、継承が絡むとselfは思い通り動いてくれないことがあります。<?phpabstract class Base { abs...