finagin / temporary-source
1.0.0
2025-05-31 12:04 UTC
Requires
- php: ^8.2
- illuminate/contracts: ^11.0|^12.0
- illuminate/database: ^11.0|^12.0
- illuminate/support: ^11.0|^12.0
Requires (Dev)
- phpstan/phpstan: ^2.0
This package is auto-updated.
Last update: 2025-05-31 12:07:47 UTC
README
<?php use Finagin\TemporarySource\TemporaryMigration as Migration; return new class extends Migration { protected string $model = \App\Models\Outline::class; // ... }
Model classes can use the TemporarySource
trait to provide a temporary source of data.
use App\Facades\ExternalSource; use Finagin\TemporarySource\TemporarySource; use Illuminate\Database\Eloquent\Model; class Outline extends Model { /** @use TemporarySource<static> */ use TemporarySource; // ... public function getRows(): array { return ExternalSource::list() ?? [ ['id' => 1, 'name' => 'First Key'], ['id' => 2, 'name' => 'Second Key'], ]; } }
Express update Blueprint
Create a custom blueprint class that extends TemporaryBlueprint
:
namespace App\Support; class Blueprint extends \Finagin\TemporarySource\TemporaryBlueprint { }
Add bindings to your AppServiceProvider
or a dedicated service provider to use the TemporaryBlueprint
:
$this->app->bind( \Finagin\TemporarySource\TemporaryBlueprint::class, \App\Support\Blueprint::class, );