Saltar al contenido
← Volver a proyectos

Cel PHP

A PHP Common Expression Language Implementation

#A Common Expression Language Implementation in PHP

continuous integration Coverage Status Mutation testing badge Total Downloads Latest Stable Version License

This repository contains a PHP implementation of the Common Expression Language (CEL).

#Table of Contents

#Documentation

#Quick Example

use Cel;

// Simple expression evaluation
$result = Cel\evaluate('1 + 2');
echo $result->getRawValue(); // Output: 3

// With variables
$result = Cel\evaluate('user.age >= 18', ['user' => ['age' => 25]]);
echo $result->getRawValue(); // Output: true

See the examples/ directory for more usage examples.

#Specification Compliance

CEL-PHP is a production-ready, fully spec-compliant implementation of the Common Expression Language specification. All core language features, operators, macros, and standard library functions are implemented and tested.

#License

This project is licensed under the terms of the LICENSE file.

#Security Policy

For information on security vulnerabilities and how to report them, please refer to our SECURITY.md.

#Code of Conduct

Please review our CODE_OF_CONDUCT.md for expected behavior and guidelines for participation.

#Acknowledgments

This project was developed by Carthage Software and is fully funded by Buhta.

We extend our sincere gratitude to Buhta for their generous support of open-source software. Their commitment to the PHP ecosystem makes projects like this possible.

#Contributing

We welcome contributions! Please see our CONTRIBUTING.md for details on how to get started.

#Development

This project uses just for task automation.

#Justfile Recipes

You can see all available commands by running just --list. Some common recipes include:

  • just install: Installs project dependencies.
  • just test: Runs the test suite.
  • just lint: Runs linting checks.
  • just verify: Runs all checks (tests, linting, etc.) to ensure code quality. Always run just verify before pushing any changes.

#Local Setup

To get started with local development, you'll need to install just and typos.

Installing Just:

If you have Rust and Cargo installed, you can install just via Cargo:

cargo install just

Alternatively, you can find other installation methods in the Just documentation.

Installing Typos:

If you have Rust and Cargo installed, you can install typos via Cargo:

cargo install typos-cli

After installing just and typos, you can install the project dependencies and run verification checks:

just install
just verify

Nueva versión disponible.