Laravelセッション管理とDB操作(Eloquent vs クエリビルダ)の実務的な使い分けまとめ

Laravelでの開発において、セッション管理の仕組みや、データベース操作における「Eloquent(ORM)」と「クエリビルダ」の使い分けは非常に重要です。実務レベルで押さえておくべきポイントを整理しました。 1. Laravelのセッション管理 Laravelは、設定一つで保存先を切り替えられる柔軟な設計になっています。 主要なドライバー 実務でのポイント 実務では、パフォーマンス向上のために…Continue reading Laravelセッション管理とDB操作(Eloquent vs クエリビルダ)の実務的な使い分けまとめ

クリーンアーキテクチャとオニオンアーキテクチャ

共通する目的 「システムの変更に強く、テストがしやすいコードを書くこと」 1. 共通のキーワード:依存性の逆転 これらのアーキテクチャを理解する上で最も重要なルールは、**「内側(ビジネスロジック)は、外側(データベースや画面)のことを知ってはいけない」**という点。 これを**「依存の方向を内側に向ける」**と言う。 2. クリーンアーキテクチャ (Clean Architecture) ボブお…Continue reading クリーンアーキテクチャとオニオンアーキテクチャ

nette/schema is locked to version v1.2.2

php 8.2.10 において、laravelのプロジェクトをクローンして、composer installしたときに出た。 git に上がってるものもphp8.2だと思ったが、マイナーバージョンによって違うのか。。。 とりあえず、netteのバージョンが、1.2で lockされているということなので、 composer.lockを探すと、確かに1.2で書いてあった。 これを消してもいいのだが、他…Continue reading nette/schema is locked to version v1.2.2

bladeテンプレート内でのjsの書き方、値を引き継ぐ方法

bladeテンプレート内のscriptタグでは サーバー側から渡された値をscirpt内で使うことができる。 1. Bladeテンプレート内でのJavaScriptの書き方 直接Bladeテンプレート内に記述する方法 Bladeファイル内でJavaScriptを記述する場合、通常は<script>タグ内に書く。 <!– resources/views/example.blade…Continue reading bladeテンプレート内でのjsの書き方、値を引き継ぐ方法

Laravel, Vue.js メモ

環境構築 laravel プロジェクト作成 node.jsインストール viteのvueインストール Laravel 10ではViteがデフォルトのビルドツールとして使用されているため、Vue CLIは必要ない。代わりに、ViteのVueプラグインを使用する。 viteでvueを使うため vitejs/plugin-vueをインストール viteの設定 vite.config.jsの設定 vueプ…Continue reading Laravel, Vue.js メモ

Laravelでルートディレクトリにアクセス時にIndex Of表示、またはForbiddenになったときの対処法

よく忘れるのでメモしておく。 この中で多い原因は.htaccessがないことと、サーバー設定が間違っていることだろう。 まずは、Apacheのerror.logを見てみることをお勧めする。 htaccessの設定 .htaccessを置いたからと言って正しくルーティングされるとは限らないので、中身を確認する。 特にエイリアスとかサブディレクトリとか設定してなければ初期設定でよい。 サーバーの設定 …Continue reading Laravelでルートディレクトリにアクセス時にIndex Of表示、またはForbiddenになったときの対処法

Call to undefined function Illuminate\Encryption\openssl_cipher_iv_length()

これはLaravelで出たエラーだが、OpenSSLのバージョンが低く、関数がないというのが最初に思いつく原因だと思う。 OpenSSLを更新すれば問題ないが、自分の原因はそこではなかった。 OpenSSLを更新できなければ、以下のように app/Providers/EncryptionServiceProvider.phpファイル作成。 config/app.phpファイルのproviders配…Continue reading Call to undefined function Illuminate\Encryption\openssl_cipher_iv_length()

Laravel データを渡す withメソッド

withメソッドは主にEloquentのwithとviewのwithがある。 Eloquent リレーションシップでの “with” Eloquentモデルでリレーションシップを定義する際に使用される “with” メソッドは、Eager Loading(前もって関連するモデルを読み込むこと)を行います。 例えば、User モデルが posts リレ…Continue reading Laravel データを渡す withメソッド