MacOS brewのPHPのバージョンを変更する Macの開発でいつの間にかPHPのバージョンが上がっていて不具合が起こってしまったのでバージョンを変更する。PHP8.3にする場合はこんな感じでbrew install php@8.3brew unlink phpbrew link --f... 2024.12.18 MacOSPHP
Laravel [Laravel]外部キー制約が削除できない Laravelで外部キー制約を削除する場合、マイグレーションのupメソッドでpublic function up() { Schema::table('{テーブル名}', function (Blueprint $table) { $tab... 2024.11.29 Laravel
Laravel あえてEager Loadingしないほうが早い場合 Laravelでリレーション先のレコードを一緒に取得したい場合。リレーション先取得のクエリが大量に発行されてしまうのを防ぐには、withメソッドを使います。withメソッドを使うことで複数レコードの取得でも1回のクエリでリレーションが取得さ... 2024.09.21 LaravelPHP
開発 [Next.js]VSCodeでフルスタック(サーバー&クライアント同時)デバッグ方法 Next.jsをVSCodeでデバッグする方法ですが、公式がちょっとわかりにくかったのでメモを残しておきます。まず、公式サイトに設定ファイルがありますのでそのリンクを書いておきます。{"version": "0.2.0","configur... 2024.09.16 開発
Laravel [Laravel] Eloquent(QueryBuilder)で使うINDEXを強制する方法 MySQLなどのDBではIndexの有無によってパフォーマンスがかなり変わります。Indexは自動的に最適なものが選択されるはずですが、気まぐれでおかしなIndexが利用されて動作が極端に遅くなってしまうことがあります。そんな時はFORCE... 2024.09.09 Laravel開発
開発 Udemyアプリ版の講座ダウンロードができない Udemyアプリ版を使うと、動画をストレージにダウンロードできるので、外出先でネットワークが遅かったりオフラインでも見ることができます。ですが、出かける前にダウンロードしておいて、電車の中で聞こうとおもってみてみたらダウンロードされてなかっ... 2024.07.03 開発
Windows マザーボード交換時の再ライセンス認証 マザーボード交換時の再ライセンス認証にはまりました。以前は電話したら何とかなったのですが、電話での認証は現在ないらしい。いろいろ試行錯誤しているうちにできちゃった感じで画面キャプチャーもしていないのだが、ライセンス認証画面でトラブルシューテ... 2024.03.28 Windows開発
Laravel [Laravel]queryのSQLを得る方法 Queryオブジェクトの発行予定のSQLを得る方法です。$sqlDump = preg_replace_array('/\?/', array_map(function($n) { return "'".$n"'";}, $query->g... 2024.03.25 Laravel
CakePHP [CekePHP5]Tableクラスのメソッド存在チェック こちらの記事でコントローラーのメソッドの存在チェック方法について書きましたが、Tableクラスでメソッドが存在するか調べる方法についてはまた事情が違うようでした。Tableクラスに実装したメソッドに関してはmethod_exists()で可... 2024.02.08 CakePHPCakePHP5
CakePHP [CakePHP5]Modelイベントがなくなってる? レコードの保存時などのイベント取得でCakePHP4以前ではafterSave()とかbeforeFind()とか、そいういうメソッドをTableクラスに定義するとそこでイベントを受け取ることができました。ですが、CakePHP5でやってみ... 2024.01.28 CakePHPCakePHP5
CakePHP [CakePHP]メール送信で”Could not send email: unknown” CekePHP5でメール送信したら"Could not send email: unknown"という謎のメッセージが出る。原因EmailTransportのclassNameの設定を確認する。app.php(もしくはapp_local.p... 2024.01.27 CakePHPPHP
CakePHP CakePHPがひどすぎる件 久々にCakePHP触ったんだけど、5になってリファレンスのインチキ度が増していますので、全く信用できません。CakePHP4とかのときに削除された機能がそのまましれっと書いてある。とにかく、名前が変わっただけとか無意味な変更がおおくて非常... 2024.01.23 CakePHP
CakePHP [CakePHP5]CSRF無効化 CakePHP5でCSRFを無効化する方法がハマったのでメモ。結論先に結論だけ述べると、FormProtectionComponentを使えダウトな情報その1SecurityComponent はCakePHP4.2ぐらいのころになくなった... 2024.01.23 CakePHP
CakePHP オブジェクト内のプロパティー存在チェックに引っかからない場合 CakePHP5/PHP8.1でコンポーネントがロードされているかどうか調べるためにif(isset($this->Auth)){}というようなコードを書いたが、なぜかfalseになる。その他のmethod_exists()などの類似の関数... 2024.01.21 CakePHPPHP
開発 [CakePHP5]Since 5.0.0: Using options array for the `find()` call is deprecated. Use named arguments instead. CakePHP5ではTable::find()の書き方がかわったようです。Since 5.0.0: Using options array for the `find()` call is deprecated. Use named arg... 2024.01.20 開発
CakePHP [CakePHP5]Security.saltが取得できない。 CakePHP5でSecurity.saltを利用したかったのですが、なぜか取得できません。設定してあるのになぜだろう?と、30分ぐらい悩んだのですが原因判明config/bootstrap.php で消してました。Security::se... 2024.01.19 CakePHPCakePHP4
CakePHP CakePHP5でコードをきれいに保つ コードのスタイルを統一しておくことは、品質の良いコードを保つのに必須要件です。ですが、コーディング規約をいちいち気にしながらコードを書くのは非常にストレスになります。ということで、できるところは機械に任せちゃいましょう。CakePHP5でコ... 2024.01.15 CakePHPCakePHP4
docker-compose Composer で処理中にタイムアウトになるのを防ぐ docker-compose系のコマンドが長くてめんどくさいのでcomposer.jsonにscriptを書いたのですが、いつの間にか強制終了されてしまいます。composerで長い時間の処理をさせようとすると、300秒でタイムアウトして強... 2024.01.12 docker-composePHP
開発 [CakePHP]Warning: Cannot modify header information – headers already sent ..がどうしても解決できない時 他人が作った古ーいシステムをメンテナンスする時に、Warning: Cannot modify header information - headers already sent ..がでてRedirectが動かなかったり、画面が真っ白にな... 2024.01.11 開発
開発 docker内でcomposerをインストールする docker内でcomposerを使えるようにしたい場合。インストールコマンドをRUNにかいてもいいんですが、もっと簡単にDockerFile内で以下のように書けばOK。COPY --from=composer /usr/bin/compo... 2024.01.09 開発