Skip to content

Best Practices Analyzers

15 analyzers ensuring you follow Laravel ecosystem best practices and framework conventions.

Overview

Best Practices analyzers focus on Laravel-specific patterns, framework conventions, and architectural best practices. These analyzers help ensure your code follows Laravel's intended usage patterns and prevents common mistakes that can lead to maintainability issues or performance problems.

Key Analyzers

Laravel Conventions

Eloquent & Database

Code Organization

Error Handling & Logging

Anti-Patterns

How They Work

Best Practices analyzers use:

  1. Pattern Matching: Identifies Laravel-specific patterns and conventions
  2. AST Analysis: Analyzes code structure to detect architectural violations
  3. Query Analysis: Examines database queries for optimization opportunities
  4. Convention Validation: Checks code against Laravel best practices

Severity Levels

SeverityDescriptionExamples
HighIssues that violate core Laravel principlesLogic in routes, N+1 queries, missing transactions
MediumIssues that reduce maintainabilityFat models, hardcoded paths
LowBest practice violationsHelper function abuse

Running Best Practices Analyzers

Run All Best Practices Analyzers

bash
php artisan shield:analyze --category=best-practices

Run Specific Analyzer

bash
php artisan shield:analyze --analyzer=eloquent-n-plus-one
php artisan shield:analyze --analyzer=missing-database-transactions
php artisan shield:analyze --analyzer=fat-model

Run Multiple Analyzers

bash
php artisan shield:analyze --analyzer=eloquent-n-plus-one,missing-database-transactions,chunk-missing

Best Practices

Development

  • Run best practices analyzers during code reviews
  • Fix High severity issues before merging
  • Use analyzers to learn Laravel conventions

Code Reviews

  • Review best practices violations in pull requests
  • Use violations as teaching opportunities
  • Ensure new code follows Laravel patterns

Team Standards

  • Agree on which best practices are mandatory
  • Document team-specific conventions
  • Use analyzers to maintain consistency across codebase