lemax10/ocstan

OCStan - Discover bugs in your code without running it. A nunomaduro/larastan wrapper for OctoberCMS

Installs: 93

Dependents: 0

Suggesters: 0

Security: 0

Stars: 5

Watchers: 2

Forks: 2

Open Issues: 1

Type:phpstan-extension

v0.1.4 2021-04-07 09:15 UTC

This package is auto-updated.

Last update: 2024-12-08 12:49:02 UTC


README

⚗️ About OcStan

  • Adds static typing to Laravel to improve developer productivity and code quality
  • Supports most of Laravel's beautiful magic
  • Supports most of OctoberCMS's beautiful magic
  • Discovers bugs in your code without running it

✨ Getting Started In 3 Steps

Requires:

1: First, you may use Composer to install Larastan as a development dependency into your Laravel project:

composer require --dev lemax10/ocstan

Using Larastan for analysing Laravel packages? You may need to install orchestra/testbench.

2: Then, create a phpstan.neon or phpstan.neon.dist file in the root of your application. It might look like this:

includes:
    - ./vendor/lemax10/ocstan/extension.neon

parameters:

    paths:
        - app

    # The level 8 is the highest level
    level: 4

    ignoreErrors:
        - '#Unsafe usage of new static#'

    excludePaths:
        - ./*/*/FileToBeExcluded.php

    checkMissingIterableValueType: false

For all available options, please take a look at the PHPStan documentation: https://phpstan.org/config-reference

3: Finally, you may start analyzing your code using the phpstan console command:

./vendor/bin/phpstan analyse

If you are getting the error Allowed memory size exhausted, then you can use the --memory-limit option fix the problem:

./vendor/bin/phpstan analyse --memory-limit=2G

Rules

A list of configurable rules specific to Laravel can be found here.

Custom PHPDoc types

A list of PHPDoc types specific to Larastan can be found here.

Custom PHPStan config parameters

A list of custom config parameters that you can use in your PHPStan config file can be found here.

Errors To Ignore

Some parts of Laravel are currently too magical for Larastan/PHPStan to understand. We listed common errors to ignore, add them as needed.

👊🏻 Contributing

Thank you for considering contributing to Larastan. All the contribution guidelines are mentioned here.

You can have a look at the CHANGELOG for constant updates & detailed information about the changes. You can also follow the Twitter account for the latest announcements or just come say hi!: @enunomaduro, @can__vural.

❤️ Support The Development

Do you like this project? Support it by donating

📖 License

OCStan is an open-sourced software licensed under the MIT license. Larastan is an open-sourced software licensed under the MIT license.