Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Mo4 Coding Standard Laravel Package

mayflower/mo4-coding-standard

MO4 Coding Standard is a PHP CodeSniffer ruleset extending the Symfony standard with extra rules for array alignment and formatting, property doc blocks, namespace usage, and string interpolation. Install it via Composer to enforce consistent, modern PHP coding conventions across your projects.

View on GitHub
Deep Wiki
Context7
12.0.0

Added

  • SlevomatCodingStandard.Classes.TraitUseOrder

Changed

  • Use AlphabeticallySortedUses from Slevomat instead of homegrown one

Removed

  • exclusion of Resources folder
11.0.2

Changed

  • Fix AlphabeticalUseStatements sorting trait use statements (#235)
11.0.1

Changed

  • Fix VariableInDoubleQuotedString sniff wrapping property/array access (#233)
11.0.0

Changed

  • PHPCS 4.0 or later is required.
  • Various updates to rules for PHP 8.1+ code, see #224 for the diff of ruleset.xml

Removed

  • Support for PHP < 8.1
10.0.2

Changed

  • Raised minimum Symfony CS release, fixes #218
10.0.1

Changed

  • Fix uninitialized string offset in UnnecessaryNamespaceUsage, fixes #212
10.0.0

Changed

Allow dealerdirect/phpcodesniffer-composer-installer 1.x

Added

  • Add SlevomatCodingStandard.Arrays.ArrayAccess
  • Add SlevomatCodingStandard.Attributes.AttributesOrder
  • Add SlevomatCodingStandard.Attributes.DisallowAttributesJoining
  • Add SlevomatCodingStandard.Attributes.DisallowMultipleAttributesPerLine
  • Add SlevomatCodingStandard.Classes.EnumCaseSpacing
  • Add SlevomatCodingStandard.Functions.NamedArgumentSpacing
9.0.1

Changed

  • Fix invalid property case (fixes a runtime error when using PHPCS 3.8.0+)
9.0.0

Added

  • Add PHP 8.1 support
  • Add SlevomatCodingStandard.Classes.BackedEnumTypeSpacing
  • Add SlevomatCodingStandard.Classes.ForbiddenPublicProperty
8.0.0

Added

  • Add MO4.WhiteSpace.ConstantSpacing
  • Add MO4.WhiteSpace.MultipleEmptyLinesSniff

Changed

  • refactored tests
7.0.0

Added

  • Add PHP 8.0 support
  • Add Generic.WhiteSpace.ArbitraryParenthesesSpacing
  • Add Squiz.PHP.DisallowMultipleAssignments
  • Add SlevomatCodingStandard.Arrays.SingleLineArrayWhitespace
  • Add SlevomatCodingStandard.Namespaces.ReferenceUsedNamesOnly
  • Add SlevomatCodingStandard.Functions.UnusedParameter
  • Add SlevomatCodingStandard.Functions.UselessParameterDefaultValue

Changed

  • Raised minimum PHPCS release
  • Raised minimum Slevomat CS release
6.0.0

Added

  • Add SlevomatCodingStandard.Classes.DisallowMultiConstantDefinition
  • Add SlevomatCodingStandard.Commenting.UselessInheritDocComment
  • Add SlevomatCodingStandard.Functions.StaticClosure
  • Add SlevomatCodingStandard.Namespaces.UseSpacing
  • Add PSR12 (excluding conflicting rules)

Changed

  • Raised PHP requirement to 7.2
5.0.0

Added

  • Add Squiz.WhiteSpace.FunctionSpacing
  • Add Squiz.WhiteSpace.MemberVarSpacing
  • Add PSR12.Traits.UseDeclaration
  • Add SlevomatCodingStandard.Namespaces.FullyQualifiedGlobalFunctions

Changed

  • Raised minimum Slevomat CS release and adapt MO4 ruleset
  • Raised minimum Symfony CS release
  • Raised minimum PHPCS release
  • Support PHP 7.4
4.0.0

Added

  • New sniffs from Slevomat, see comments in the ruleset

Changed

  • Raised minimum Symfony CS release
3.2.2

Changed

  • Add [@group](https://github.com/group) to default ignoredAnnotationNames
  • Add ignoreMultiline for if vs. ternary
3.2.1

Changed

  • Raised minimum Symfony CS release
  • Use strict typing in MO4 sniff code
3.2.0

Changed

  • Raised minimum Symfony CS release
3.1.0

Changed

  • Raised minimum Symfony CS release
  • Raised minimum Slevomat CS release
3.0.1

Changed

  • Updated dealerdirect/phpcodesniffer-composer-installer dependency
3.0.0

Added

  • PHP 7.3 support
  • Windows support
  • Integration tests
  • New sniffs from upstream rulesets, see comments in the ruleset
  • Autofixer for MO4.Arrays.ArrayDoubleArrowAlignment, fixes #91

Changed

  • Raised PHP requirement to 7.1
  • Detection of more comments after declarations, fixes #96
  • Documentation about upstream sniffs moved from README to comments per rule in the ruleset

Removed

  • Support for PHP 5.6 and PHP 7.0
  • PEAR as installation method
2.1.2

Changed

  • prefer builtin-functions for performance
2.1.1

Changed

  • Check for empty needle when calling strpos, fixes #78
2.1.0

Changed

  • PHPCS version 3.2.3 or later is required.
2.0.0

Added

  • MO4.Arrays.ArrayDoubleArrowAlignment
  • MO4.Arrays.MultiLineArray
  • Generic.Arrays.ArrayIndent
  • Squiz.WhiteSpace.OperatorSpacing
  • The behaviour of MO4.Formatting.AlphabeticalUseStatements can be configured with the property order. Possible values are: dictionary, string, string-locale or string-case-insensitive.
  • Static code analysis with PHPStan.
  • Various cloud based code quality tools like: Scrutinizer CI, codecov.io, ...

Changed

  • PHPCS version 3.2.0 or later is required.
  • Code complies to PHPCS coding standard version 3.2.0.
  • Default ordering of MO4.Formatting.AlphabeticalUseStatements is now dictionary instead of string.
  • Updates and fixes for class documentation.
  • Improve testing and code coverage.
  • Unknown test files will not trigger wrong type exceptions anymore, but report decent error messages with RuntimeException.
  • Many fixes and stability improvements.

Removed

  • MO4.Formatting.ArrayAlignmentUnit
    • replaced by MO4.Arrays.ArrayDoubleArrowAlignment and MO4.Arrays.MultiLineArray.
  • MO4.Formatting.UseArrayShortTag
    • replaced by Generic.Arrays.DisallowLongArray.
  • Dead code from MO4.Strings.VariableInDoubleQuotedString.
1.0.0

Changed

  • MO4 coding standard can be installed as composer package and is released on packagist.org.
  • Replaced underlying Symfony coding standard.
  • PHPCS 3.0 or later is required.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
adachsoft/changelog-linter
adachsoft/collection
payerurl/telegrambot-crypto-payment-instant-payout
dskripchenko/laravel-hybrid-search
riorizkyrainey/lara-ced
mehedimi/static-vel
zharp/zharp
nonsapiens/bigquery-model-sync
lgu-bayambang-ict-office/lgu-laravel-development-standards
andydefer/laravel-support
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus
adachsoft/php-code-style