artisanpack-ui / code-style
A custom PHP code style standard based on PHPStorm settings. This package provides custom sniffs for PHP_CodeSniffer that enforce consistent code style across your PHP projects.
Installs: 157
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Forks: 0
Type:phpcodesniffer-standard
Requires
- php: ^8.2
- squizlabs/php_codesniffer: ^3.7
Requires (Dev)
- pestphp/pest: ^3.8
- pestphp/pest-plugin-laravel: ^3.1
This package is auto-updated.
Last update: 2025-09-11 23:31:10 UTC
README
A custom PHP code style standard based on PHPStorm settings. This package provides custom sniffs for PHP_CodeSniffer that enforce consistent code style across your PHP projects.
Installation
You can install the ArtisanPack UI Code Standards package by running the following composer command:
composer require artisanpack-ui/code-style --dev
Usage
Configuration
After installation, you can create a phpcs.xml
file in your project root with the following content:
<?xml version="1.0"?>
<ruleset name="YourProjectStandard">
<description>Your project's coding standard</description>
<!-- Use ArtisanPackUI standard -->
<rule ref="ArtisanPackUIStandard"/>
<!-- Specify paths to check -->
<file>app</file>
<file>src</file>
<file>tests</file>
<!-- Exclude paths -->
<exclude-pattern>*/vendor/*</exclude-pattern>
<exclude-pattern>*/node_modules/*</exclude-pattern>
</ruleset>
Running PHP_CodeSniffer
You can run PHP_CodeSniffer with the ArtisanPackUI standard using the following command:
./vendor/bin/phpcs --standard=ArtisanPackUIStandard .
Or if you've set up a custom phpcs.xml
file:
./vendor/bin/phpcs
Custom Sniffs
This package includes 16+ custom sniffs covering:
- Formatting: Indentation, braces, spacing, alignment
- Code Structure: Classes, control structures, imports, arrays
- Naming Conventions: PascalCase for classes, camelCase for functions/variables, snake_case for table columns
- Security: Input validation, output escaping (see Security Sniffs)
- Best Practices: Yoda conditionals, type declarations, disallowed functions
For complete details on all sniffs with examples, see the Custom Sniffs Reference.
Customizing Sniffs
You can customize the behavior of the sniffs by overriding their properties in your phpcs.xml
file:
<rule ref="ArtisanPackUI.Formatting.Indentation">
<properties>
<property name="indent" value="2"/>
</properties>
</rule>
Documentation
📚 Complete Documentation - Comprehensive guides and references
Quick Links
- Installation Guide - Detailed installation instructions
- Usage Guide - Basic usage and IDE integration
- Troubleshooting - Common issues and solutions
- Customization Guide - How to customize sniffs
- All Sniffs Reference - Complete sniff documentation
- Security Sniffs - Security-focused sniffs
Contributing
🤝 Contributing Guidelines - How to contribute to the project
As an open source project, this package is open to contributions from anyone. Whether you want to report bugs, suggest features, improve documentation, or contribute code, please read through our comprehensive contributing guidelines.
Additional Resources
- AI Guidelines - Guidelines for AI-assisted development
- Code of Conduct - Community standards