richan-fongdasen / firestore-laravel
Google Cloud Firestore 驱动程序,用于 Laravel 缓存和会话。
1.0.0
2024-05-26 04:34 UTC
Requires
- php: ^8.2
- ext-grpc: *
- ext-protobuf: *
- google/cloud-firestore: ^1.43.1
- illuminate/cache: ^10.0||^11.0
- illuminate/contracts: ^10.0||^11.0
- illuminate/session: ^10.0||^11.0
- illuminate/support: ^10.0||^11.0
- spatie/laravel-package-tools: ^1.16
Requires (Dev)
- larastan/larastan: ^2.9
- laravel/pint: ^1.14
- nunomaduro/collision: ^8.1.1||^7.10.0
- orchestra/testbench: ^9.0.0||^8.22.0
- pestphp/pest: ^2.34
- pestphp/pest-plugin-arch: ^2.7
- pestphp/pest-plugin-laravel: ^2.3
- phpstan/extension-installer: ^1.3
- phpstan/phpstan-deprecation-rules: ^1.1
- phpstan/phpstan-phpunit: ^1.3
- phpstan/phpstan-strict-rules: ^1.5
README
此包允许您将 Google Cloud Firestore 作为 Laravel 应用程序中缓存和会话存储的驱动程序使用。此包建立在官方 Google Cloud Firestore PHP 客户端库 之上。
警告
此包目前还不兼容 Laravel Octane。
要求
- PHP 8.2 或更高版本
- Laravel 10.0 或更高版本
- PHP 扩展:
grpc
- PHP 扩展:
protobuf
- Google Cloud Firestore 凭证
安装
您可以通过 composer 安装此包
composer require richan-fongdasen/firestore-laravel
您可以使用以下命令发布配置文件
php artisan vendor:publish --tag="firestore-laravel-config"
这是发布配置文件的内容
return [ 'project_id' => env('GOOGLE_CLOUD_PROJECT'), 'credentials' => env('GOOGLE_APPLICATION_CREDENTIALS'), 'database' => env('FIRESTORE_DATABASE', '(default)'), 'cache' => [ 'collection' => env('FIRESTORE_CACHE_COLLECTION', 'cache'), 'key_attribute' => env('FIRESTORE_CACHE_KEY_ATTR', 'key'), 'value_attribute' => env('FIRESTORE_CACHE_VALUE_ATTR', 'value'), 'expiration_attribute' => env('FIRESTORE_CACHE_EXPIRATION_ATTR', 'expired_at'), ], 'session' => [ 'collection' => env('FIRESTORE_SESSION_COLLECTION', 'sessions'), ], ];
配置
设置 Firestore 身份验证
有关如何对您的 Google Cloud Firestore 客户端进行身份验证的更多信息,请参阅 身份验证指南。
包配置
您可以通过在您的 .env
文件中设置以下环境变量来配置包。
GOOGLE_CLOUD_PROJECT=your-google-cloud-project-id GOOGLE_APPLICATION_CREDENTIALS="/path-to/your-service-account.json" FIRESTORE_DATABASE="(default)" FIRESTORE_CACHE_COLLECTION=cache FIRESTORE_CACHE_KEY_ATTR=key FIRESTORE_CACHE_VALUE_ATTR=value FIRESTORE_CACHE_EXPIRATION_ATTR=expired_at FIRESTORE_SESSION_COLLECTION=sessions
缓存存储配置
为了将 Firestore 用作缓存存储,您需要将以下配置追加到 config/cache.php
文件中。
'stores' => [ 'firestore' => [ 'driver' => 'firestore', ], ],
会话驱动程序配置
为了将 Firestore 用作会话存储,您需要修改您的 .env
文件中的 SESSION_DRIVER
环境变量。
SESSION_DRIVER=firestore
使用
此包没有特殊的使用方法。您可以使用 Cache 和 Session 存储就像您在 Laravel 中通常做的那样。
// Cache store Cache::put('key', 'value', 60); // Store a value in the cache for 60 seconds $value = Cache::get('key'); // Retrieve a value from the cache // Session session(['key' => 'value']); // Store a value in the session $value = session('key'); // Retrieve a value from the session
测试
composer test
更改日志
有关最近更改的更多信息,请参阅 更改日志。
贡献
有关详细信息,请参阅 贡献指南。
安全漏洞
有关如何报告安全漏洞的详细信息,请参阅 我们的安全策略。
致谢
许可
MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件。