vladyslavstartsev/laravel-strict-coding-standard

PHP_CodeSniffer rules for Laravel to force the "right" design of the app

Package info

github.com/vladyslavstartsev/laravel-strict-coding-standard

Issues

Type:phpcodesniffer-standard

pkg:composer/vladyslavstartsev/laravel-strict-coding-standard

Statistics

Installs: 3 743

Dependents: 0

Suggesters: 0

Stars: 46

0.6.0 2023-04-29 14:28 UTC

Requires

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT 995548b7b117ece6d8329b0af3c2b8d548f5dc4b

  • Vladyslav Startsev <vladyslavstartsev+gh.woop@gmail.com>

This package is auto-updated.

Last update: 2026-05-29 01:17:57 UTC


README

PHP_CodeSniffer coding standards for Laravel, do force developers not to use bad design decisions that are supported by Laravel

Installing

composer require --dev vladyslavstartsev/laravel-strict-coding-standard

Sniffs included in this standard

LaravelStrictCodingStandard.Laravel.DisallowUseOfGlobalFunctions

  • checks for functions that are declared in

    • vendor/laravel/framework/src/Illuminate/Foundation/helpers.php
    • vendor/laravel/framework/src/Illuminate/Support/helpers.php

LaravelStrictCodingStandard.Laravel.DisallowUseOfFacades

  • checks for usage of Laravel Facades (including Real-time facades)
  • if not configured it will use default path for Illuminate\Foundation\Application instance at bootstrap/app.php

so for default Illuminate\Foundation\Application instance use

<rule ref="LaravelStrictCodingStandard.Laravel.DisallowUseOfFacades"/>

to override, do this

<rule ref="LaravelStrictCodingStandard.Laravel.DisallowUseOfFacades">
 <properties>
 <property name="laravelApplicationInstancePath" type="string" value=".nonDefaultFolder/application.php"/>
 </properties>
</rule>

we need this instance, so we can get all Facades and Aliases that are potentially used in the app ( yes, this looks like dynamic code analysis, but that's the only way how to find out all Facades, if you have ideas how to do it statically, feel free to make PR)