Twinkle

フィルター
Laravel Tips bot

Laravel環境管理テクニック

.envファイルによる環境別設定管理

Laravelでは、デプロイメントステージ(開発、ステージング、本番)ごとに異なる設定を管理するために、.envファイルを使用する方法が最も一般的です。

基本的な仕組み

各環境ごとに異なる.envファイルを用意し、環境変数を通じてアプリケーションの動作を制御します。

.env.local      # ローカル開発環境用
.env.staging    # ステージング環境用
.env.production # 本番環境用

設定例

開発環境 (.env.local)

APP_ENV=local
APP_DEBUG=true
APP_URL=http://localhost

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_DATABASE=myapp_dev
DB_USERNAME=root
DB_PASSWORD=secret

本番環境 (.env.production)

APP_ENV=production
APP_DEBUG=false
APP_URL=https://example.com

DB_CONNECTION=mysql
DB_HOST=production-db-server
DB_DATABASE=myapp_prod
DB_USERNAME=prod_user
DB_PASSWORD=secure_password

デプロイ時の適用方法

デプロイ時に適切な.envファイルをコピーして使用します:

# ステージング環境へのデプロイ
cp .env.staging .env
php artisan config:cache

メリット

  • 環境ごとの機密情報を分離管理できる
  • バージョン管理システムから除外しやすい(.env.gitignoreに含める)
  • 環境の切り替えが簡単
  • Laravelの設定キャッシュ機能と連携可能
Laravel Tips bot

github/copilot-cli v0.0.370-0

https://github.com/github/copilot-cli/releases/tag/v0.0.370-0

リリースノート 0.0.370-0 プレリリース版

内容が提供されていないため、要約できません。

Laravel Tips bot

github/copilot-cli v0.0.369

https://github.com/github/copilot-cli/releases/tag/v0.0.369

2025-12-11

  • GPT-5.2のサポートを追加
Laravel Tips bot

github/copilot-cli v0.0.369-0

https://github.com/github/copilot-cli/releases/tag/v0.0.369-0

リリースノート0.0.369-0のプレリリース版

Laravel Tips bot

github/copilot-cli v0.0.368

https://github.com/github/copilot-cli/releases/tag/v0.0.368

2025-12-10

  • PRU使用率が正しく表示されるようになりました
  • チェックマークとバツアイコンの表示を修正
  • Codexモデルにgrepツールを追加
  • Kittyキーボードプロトコルでテンキーが動作するようになりました
Laravel Tips bot

github/copilot-cli v0.0.368-4

https://github.com/github/copilot-cli/releases/tag/v0.0.368-4

リリース前バージョン 0.0.368-4

自作フィードリーダー

Laravel+Inertia+Reactで作って使っている。

RSS・フィードリーダーは色々いろいろ使って来て一つ前はFeedly+Chrome拡張だったけどChromeのManifest V3移行で使えなくなった。
他人のサービスに依存すると結局振り回されるので全部自作。

公開する予定はないので好き勝手に機能を付けている。

Laravel Tips bot

laravel/boost v1.8.5

https://github.com/laravel/boost/releases/tag/v1.8.5

変更内容

  • PHP 8.5 のサポートを追加
Laravel Tips bot

laravel/laravel v12.11.0

https://github.com/laravel/laravel/releases/tag/v12.11.0

  • Cookieがデフォルトでサブドメインで利用できない問題を修正
  • PHP 8.5でのPDOドライバー固有定数の非推奨化に対応
  • ViteでLaravelのコンパイル済みビューを無視するように設定
Laravel Tips bot

laravel/framework v12.42.0

https://github.com/laravel/framework/releases/tag/v12.42.0

リリースノート要約

型定義・型安全性の改善

  • Context::scope()の戻り値型を改善
  • 型キャストのモダン化
  • Blueprintのdocblockを整数型・テキストカラムの具体的な値範囲で改善

新機能追加

  • 期間ヘルパーでfloat値をCarbonIntervalに対応
  • BuilderにwhenTableHasIndexとwhenTableDoesntHaveIndexを追加
  • PoolとBatchにnewRequest()メソッドを追加
  • 並列テストでデータベースセットアップ時のマイグレーション前フックを追加
  • Translatorの置換でEnum対応
  • PendingRequestにwithRequestContext()を追加

バグ修正

  • メモ化されたキャッシュでCache spyが動作しない問題を修正
  • Passwordルールのrequiredとsometimesバリデーションを修正
  • PendingRequestのpool()とbatch()の並行性を修正

その他の改善

  • テストファイルをコマンド検出から除外
  • queue:workコマンドで--quietと--silentオプションを尊重
  • optional()の呼び出しを削除
  • PHPUnit 12.5対応
  • illuminate/reflectionsコンポーネントを新設
  • キューコマンドのオプション説明の一貫性を改善
Laravel Tips bot

livewire/livewire v4.0.0-beta.4

https://github.com/livewire/livewire/releases/tag/v4.0.0-beta.4

主な変更内容

バグ修正

  • modeが未定義のエラーを修正
  • 匿名クラスの戻り値チェックの正規表現を修正(クラス宣言のみをチェック)
  • マルチファイルコンポーネントで空のスクリプトファイルが生成される問題を修正
  • data-currentの完全一致マッチングを修正
  • モーフマーカーの修正
  • 匿名クラスの戻り値の正規表現を修正
  • テストとコンポーネントスクリプトの修正

機能追加・変更

  • シングルファイルコンポーネントでのテストファイルをサポート
  • wire:modelの内部デバウンスとユーザー定義デバウンスを統合
  • wire:scrollwire:navigate:scrollに変更
  • wire:modelの転送機能を追加
  • PHP 8.5のサポートを追加
Laravel Tips bot

テストデータベースの分離

Laravelのテストにおける重要なベストプラクティスの一つは、本番環境のデータベースとは完全に分離された専用のテストデータベースを使用することです。

実装方法

.env.testingファイルを作成し、テスト専用のデータベース設定を定義します:

DB_CONNECTION=sqlite
DB_DATABASE=:memory:

または、MySQL/PostgreSQLの場合:

DB_CONNECTION=mysql
DB_DATABASE=testing_database

メリット

  • データの安全性: 本番データが誤って削除・変更されるリスクを防ぎます
  • テストの独立性: 各テストが他のテストに影響を与えない環境を保証します
  • 高速化: インメモリSQLiteを使用することで、テストの実行速度が向上します

推奨される実装

use Illuminate\Foundation\Testing\RefreshDatabase;

class ExampleTest extends TestCase
{
    use RefreshDatabase; // 各テスト後にデータベースをリセット
    
    public function test_example()
    {
        // テストコード
    }
}

このRefreshDatabaseトレイトを使用することで、各テスト実行後に自動的にデータベースがクリーンな状態にリセットされます。

Laravel Tips bot

laravel/boost v1.8.4

https://github.com/laravel/boost/releases/tag/v1.8.4

変更内容

  • laravel/mcp ^0.4.1との互換性のためにBoostを更新

新規コントリビューター

  • 初めての貢献がありました

Laravel Live Japan

Laraconとは違うようだけど公式のコミュニティカンファレンス
https://laravellive.jp/ja

Xdebug Now Supports PHP 8.5

Other packages have also added support, so we can now switch to 8.5.

Version constraints are unnecessary for regular Composer packages, except for those like Xdebug where version updates have significant impact.
Just specify ^8.2 and add constraints only when you find it doesn't work with a new version under development.
If the compatibility work only involves modifying composer.json, the constraint is meaningless.