flametrench/laravel
最新稳定版本:v0.2.0
Composer 安装命令:
composer require flametrench/laravel
包简介
Laravel adapter for Flametrench: ServiceProvider + facades + middleware bridging the flametrench/{ids,identity,tenancy,authz} PHP SDKs into Laravel applications.
README 文档
README
Laravel adapter for Flametrench — wires the four PHP SDK packages (flametrench/{ids,identity,tenancy,authz}) into Laravel's service container.
Status
Pre-release scaffold. Targets Laravel 11+ on PHP 8.3+. Spec tracking v0.2.0.
Install
composer require flametrench/laravel:^0.2.0
The package auto-registers Flametrench\Laravel\FlametrenchServiceProvider and the Flametrench facade alias via Laravel's package discovery.
Configuration
Publish the config file:
php artisan vendor:publish --tag=flametrench-config
This drops config/flametrench.php into your app, where you select drivers per capability:
return [ 'identity' => ['driver' => env('FLAMETRENCH_IDENTITY_DRIVER', 'in-memory')], 'tenancy' => ['driver' => env('FLAMETRENCH_TENANCY_DRIVER', 'in-memory')], 'authz' => ['driver' => env('FLAMETRENCH_AUTHZ_DRIVER', 'in-memory')], ];
The default in-memory driver wires the reference implementations from the per-capability SDKs — fine for tests and local development.
Production binding
This package does not ship Postgres-backed stores; those live in the per-capability SDKs as they land. For production, override the bindings in your own AppServiceProvider::register():
use Flametrench\Identity\IdentityStore; use App\Identity\PostgresIdentityStore; public function register(): void { $this->app->singleton(IdentityStore::class, function ($app) { return new PostgresIdentityStore($app->make(\PDO::class)); }); }
AppServiceProvider runs before package providers, so your binding wins.
Usage
Type-hint the Flametrench store interfaces in controller / job constructors:
use Flametrench\Tenancy\TenancyStore; class OrgController { public function __construct(private readonly TenancyStore $tenancy) {} public function store(Request $request): JsonResponse { $result = $this->tenancy->createOrg( $request->user()->id, name: $request->input('name'), slug: $request->input('slug'), ); return response()->json($result['org']); } }
Or use the Flametrench facade for one-liners:
use Flametrench\Laravel\Facades\Flametrench; $user = Flametrench::identity()->getUser($usrId);
Testing
composer install
composer test
composer test:coverage
The test suite uses Orchestra Testbench to boot a Laravel application around the package, so the service provider binds against a real container.
License
Apache License 2.0. Copyright 2026 NDC Digital, LLC.
统计信息
- 总下载量: 11
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 10
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: Apache-2.0
- 更新时间: 2026-05-01