arkecosystem / stan
此包已被弃用且不再维护。未建议替代包。
针对 Laravel 的静态分析和测试。由 PHPStan 和 Pest 提供支持。
4.0.1
2021-09-23 10:15 UTC
Requires
- ergebnis/phpstan-rules: ^0.15.3
- fakerphp/faker: ^1.15
- friendsofphp/php-cs-fixer: ^v3.1.0
- graham-campbell/analyzer: ^3.0
- jasonmccreary/laravel-test-assertions: ^1.1
- johnkary/phpunit-speedtrap: ^4.0
- mockery/mockery: ^1.4
- nunomaduro/collision: ^5.5
- nunomaduro/larastan: ^0.7.11
- nunomaduro/laravel-mojito: ^0.2.8
- orchestra/testbench: ^6.19
- pestphp/pest: ^1.11
- pestphp/pest-plugin-faker: ^1.0
- pestphp/pest-plugin-laravel: ^1.1
- pestphp/pest-plugin-livewire: ^1.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^0.12.6
- phpstan/phpstan-strict-rules: ^0.12.10
- phpunit/phpunit: ^9.5
- rector/rector: ^0.11.38
- spatie/pest-plugin-snapshots: ^1.1
README
针对 Laravel 的静态分析和测试。由 PHPStan 和 Pest 提供支持。
安装
- 使用 composer 安装:
composer require arkecosystem/stan --dev
- 使用以下命令发布所有配置:
php artisan vendor:publish --provider="ARKEcosystem\Stan\StanServiceProvider" --tag=config
。 - 使用以下命令发布所有工作流程:
php artisan vendor:publish --provider="ARKEcosystem\Stan\StanServiceProvider" --tag=workflows
。 - 根据项目需求开始调整配置。
文件分析
在处理大型项目时,可能会经常移动文件并忘记更新引用。我们使用 graham-campbell/analyzer 来避免这种情况。创建文件 tests/Analysis/AnalysisTest.php
,如果任何引用与文件不匹配,测试套件将失败。
<?php declare(strict_types=1); namespace Tests\Analysis; use GrahamCampbell\Analyzer\AnalysisTrait; use PHPUnit\Framework\TestCase; final class AnalysisTest extends TestCase { use AnalysisTrait; public function getPaths(): array { return [ __DIR__.'/../../app', ]; } public function getIgnored(): array { return ['Laravel\Scout\Builder']; } }