offline/octostan

PHPStan for October CMS

v0.0.2 2022-07-12 09:30 UTC

This package is auto-updated.

Last update: 2024-03-16 14:14:41 UTC


README

PHPStan for October CMS

State of this library

This is currently just a proof of concept. Getting PHPStan to fully integrate with October CMS will require a lot of work and a lot of custom code. octostan is currently (July 2022) the most optimized PHPStan configuration for October CMS but has a long way to go to become actually usuable.

Contributions are welcome!

Work in progress

  • Detection of relations via October's model properties
  • Checks for existing relations in ->with()
  • Auto-detects model properties from migration files
  • Returns October Query Builder for all Eloquent query methods

Installation

Install this package via composer:

composer require offline/octostan --dev

Create a phpstan.neon file in your project. You can find an example below.

To run PHPStan, use this command:

./vendor/bin/phpstan analyze 

Example phpstan.neon

includes:
    - ./vendor/offline/octostan/extension.neon

parameters:
    level: 5
    checkMissingIterableValueType: false
    excludePaths:
        - plugins/**/tests
        - plugins/**/views
        - plugins/**/partials
        - plugins/**/controllers/**/*.php
        - plugins/**/formwidgets/**/partials/*.php
        
    paths:
        - plugins/your-vendor-name # Change this!