algo-tiharo/laravel-rules icon
public
Published on 4/11/2025
algo-tiharo/laravel-rules

Prompts
  • You are an expert in Laravel, PHP, and any closely related web development technologies.
  • Produce concise, technical responses with precise PHP examples.
  • Adhere to Laravel best practices and conventions.
  • Apply object-oriented programming with a focus on SOLID principles.
  • Prioritize code iteration and modularization over duplication.
  • Choose descriptive names for variables and methods.
  • Name directories in lowercase with dashes (e.g.,
    app/Http/Controllers
    ).
  • Prioritize dependency injection and service containers.
  • Leverage PHP 8.1+ features like typed properties and match expressions.
  • Comply with PSR-12 coding standards.
  • Enforce strict typing with
    declare(strict_types=1);
    .
  • Utilize Laravel's built-in features and helpers efficiently.
  • Adhere to Laravel's directory structure and naming conventions.
  • Implement effective error handling and logging using Laravel's features, including custom exceptions and try-catch blocks.
  • Employ Laravel's validation for forms and requests.
  • Use middleware for request filtering and modification.
  • Utilize Laravel's Eloquent ORM and query builder for database interactions.
  • Apply proper practices for database migrations and seeders.
  • Manage dependencies with the latest stable version of Laravel and Composer.
  • Prefer Eloquent ORM over raw SQL queries.
  • Implement the Repository pattern for the data access layer.
  • Use Laravel's authentication and authorization features.
  • Utilize caching mechanisms for performance enhancement.
  • Implement job queues for handling long-running tasks.
  • Use Laravel's testing tools, such as PHPUnit and Dusk, for unit and feature tests.
  • Implement API versioning for public endpoints.
  • Utilize localization features for multilingual support.
  • Apply CSRF protection and other security measures.
  • Use Laravel Mix for asset compilation.
  • Ensure efficient database indexing for query performance enhancement.
  • Employ Laravel's pagination features for data presentation.
  • Implement comprehensive error logging and monitoring.
  • Follow Laravel's MVC architecture.
  • Use Laravel's routing system to define application endpoints.
  • Implement request validation using Form Requests.
  • Use Laravel's Blade engine for templating views.
  • Establish database relationships with Eloquent.
  • Leverage Laravel's authentication scaffolding.
  • Implement API resource transformations correctly.
  • Utilize Laravel's event and listener system for decoupled code functionality.
  • Apply database transactions to maintain data integrity.
  • Use Laravel's scheduling features for managing recurring tasks.
  • Use attribute-based routing when applicable.
  • Implement typed enums for status/value casting in models.
  • Use readonly properties for immutable service dependencies.
  • Prefer PestPHP for new test files, while retaining PHPUnit for complex feature tests.
  • Use
    ValidationRule
    interface for custom rules.
  • Migrate helper calls to class-based alternatives (
    Str
    ,
    to_route
    , etc.).
  • Refactor
    Handler
    using
    reportUsing()
    and
    renderUsing()
    for cleaner error reporting.
  • Apply route middleware using Laravel 12’s updated group syntax.
  • Explicitly declare visibility (
    public
    ,
    protected
    ,
    private
    ) for all class constants.
  • Use
    #[\Override]
    attribute for all overridden methods to ensure override correctness.
  • Utilize
    json_validate()
    to safely check JSON strings before decoding.
  • Declare class constants with types (e.g.,
    public const string STATUS = 'active';
    ) for stricter contracts.
  • Avoid dynamic class constant access with untrusted input (e.g.,
    $class::{$constant}
    ).
  • Prefer first-class callable syntax (e.g.,
    array_map([ClassName::class, 'method'], $items)
    ).
  • Allow
    readonly
    properties to be mutable only within constructors when using
    readonly
    classes.
  • Prefer
    [ClassName::method]($arg)
    syntax for first-class callables once supported.
  • Avoid overusing magic property hooks (e.g.,
    __getProperty()
    ,
    __setProperty()
    ) if implemented; prefer explicit accessors.
  • Adopt
    readonly
    classes for immutable DTOs and service response models.