Skip to content

Tech debt: PHPStan baseline opschonen — ignores voor optionele dependencies vervangen door stubs #145

Description

@ginkelsoft-development

Probleem

Na issue #118 (PHPStan level sync) heeft phpstan.neon ignore-patterns voor optionele dependencies waarvan de classes niet altijd resolvbaar zijn tijdens analysis:

```yaml

  • '#Instantiated class PragmaRX\Google2FA\Google2FA not found#'
  • '#has unknown class PragmaRX\Google2FA\Google2FA as its type#'
  • '#Instantiated class BaconQrCode\.* not found#'
  • '#Class App\Models\User not found#'
  • '#Access to an undefined static property#'
    ```

Deze ignores verbergen echte type-fouten in plaats van ze op te lossen.

Voorstel

  1. PragmaRX/Google2FA + BaconQrCode zitten in composer require, dus zouden gewoon vindbaar moeten zijn. Onderzoek waarom phpstan ze niet detecteert:

    • Controleer of composer dump-autoload --optimize het probleem oplost
    • Mogelijk phpstan/extension-installer toevoegen voor automatische stubs
    • Anders: handmatige stubs in phpstan/stubs/
  2. App\\Models\\User — verwacht van consumer Laravel app. Vervang ignore door een stub in tests/phpstan-stubs/User.php of phpstan/stubs/User.stub.

  3. ModelResource::\$model static property — onderzoek of de access klopt (kan een echte bug zijn).

Acceptatiecriteria

  • Alle 6 not found/unknown class ignores verwijderd uit phpstan.neon
  • Geen nieuwe phpstan errors
  • Tests blijven groen
  • CLAUDE.md update met setup-instructies voor stubs (als gebruikt)

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions