承接 stateforge/scenario-laravel 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

stateforge/scenario-laravel

最新稳定版本:1.1.0

Composer 安装命令:

composer require --dev stateforge/scenario-laravel

包简介

Laravel adapter for Stateforge Scenario Core – declarative, attribute-driven scenario execution for reproducible application state.

README 文档

README

Stateforge\Scenario\Laravel

CI PHPStan Stability Latest Version PHP Version License

Scenario Laravel

Laravel integration for Stateforge Scenario Core.

This package provides framework-specific integration for Laravel applications, enabling seamless scenario execution within PHPUnit tests and Artisan workflows.

It builds on top of stateforge/scenario-core and integrates with the Laravel container, Artisan console, and testing environment.

Requirements

Scenario Laravel requires the following:

Installation

This package is intended for local, develop and testing use only.

composer require --dev stateforge/scenario-laravel

After installation, run the setup command:

php artisan scenario:install

The installation command generates the required configuration files:

  • creates scenario/bootstrap.php for runtime bootstrapping
  • generates scenario.dist.xml for configuration
  • places the extension into phpunit.xml or phpunit.dist.xml

What This Package Provides

Scenario Laravel integrates Scenario Core with:

  • Laravel’s service container
  • Laravel Artisan console
  • Laravel application lifecycle
  • PHPUnit integration

Service Provider

The package automatically registers its service provider.

It handles:

  • registering console commands
  • wiring scenario services
  • integrating the Scenario runtime with Laravel

Database Reset

When using #[RefreshDatabase], the Laravel integration resets the database using Laravel’s migration system.

The default behavior:

  • runs migrate:fresh
  • optionally supports connection-specific resets

Applying Scenarios in Unit Tests

Scenarios can be applied declaratively using the #[ApplyScenario] attribute:

use Stateforge\Scenario\Core\Attribute\ApplyScenario;

#[ApplyScenario('my-scenario')]
final class MyTest extends TestCase
{
    #[ApplyScenario('my-second-scenario')]
    public function testSomethingImportant(): void
    {
        // scenario has already been applied, data can be tested
    }
}

Console Commands

Scenario Laravel registers dedicated Artisan commands within your application.

You can discover them using:

php artisan list scenario

Available commands include:

  • scenario:list – List available scenarios
  • scenario:apply – Apply a scenario manually
  • scenario:debug – Debug scenarios or unit tests
  • scenario:make – Generate a new scenario
  • scenario:install – Install Scenario into the project

Environment Restrictions

Scenario commands are intended for local, development and testing environments only.

By default, they are restricted to:

  • local
  • develop
  • testing

This can be configured via:

config('scenario.allowed_envs');

Next Steps

统计信息

  • 总下载量: 2
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 6
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: BSD-3-Clause
  • 更新时间: 2026-04-04

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固