millipress/millirules

A declarative rule engine for PHP that turns complex conditional logic into readable when-then rules. Features a fluent builder API, lazy-loaded context for performance, smart operator inference, and works seamlessly in pure PHP or WordPress.

Installs: 983

Dependents: 2

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/millipress/millirules

v0.7.3 2026-02-15 23:54 UTC

This package is auto-updated.

Last update: 2026-02-19 21:47:20 UTC


README

A flexible, framework-agnostic rule evaluation engine for PHP 7.4+.

Overview

MilliRules is a powerful rule engine that allows you to define complex conditional logic using a fluent API. It's designed to be framework-agnostic while providing specialized support for HTTP and WordPress environments.

Features

  • Fluent API: Build complex rules with an intuitive, chainable syntax
  • Framework Agnostic: Core engine works with any PHP application
  • Lazy-Loaded Context: On-demand loading of context data for optimal performance
  • HTTP Support: Built-in conditions for request handling
  • WordPress Integration: Native support for WordPress queries and context
  • Extensible: Easy to add custom conditions and actions
  • Flexible Naming: Use snake_case or camelCase — when_all() and whenAll() both work
  • PHP 7.4+ Compatible: Works with PHP 7.4+, PHP 8.0+ recommended

Installation

composer require millipress/millirules

Quick Start

use MilliRules\Rules;

// Simple HTTP rule
Rules::create('api_check')
    ->when()
        ->request_url('/api/*')
    ->then()
        ->custom( 'auth-check', function($context) {
            // Your action here
        })
    ->register();

Documentation

See the full documentation for detailed guides and API reference.

License

GPL-2.0-or-later