rezzza / formulate
Making life easier while writing complex math formulas, take a breath
Installs: 35 216
Dependents: 2
Suggesters: 0
Security: 0
Stars: 12
Watchers: 5
Forks: 4
Open Issues: 1
Type:standalone
Requires
- php: >=5.3.2
- hoa/math: <2.0
Requires (Dev)
- atoum/atoum: ~2.0
This package is not auto-updated.
Last update: 2024-11-02 13:41:34 UTC
README
Making life easier while writing complex math formulas, take a breath
Install via composer
# composer.json
"rezzza/formulate": "dev-master"
# shell
php composer.phar update # or install
Usage
<?php use Rezzza\Formulate\Formula; $formula = new Formula('{{ variable1 }} + {{ variable2 }}'); $formula->setParameter('variable1', 10); $formula->setParameter('variable2', 13); echo $formula->render(); // "10 + 13" $formula->setIsCalculable(true); echo $formula->render(); // "23" // Works with sub formulas $formula = new Formula('{{ subformula1 }} + {{ variable2 }}'); $formula->setSubFormula('subformula1', new Formula('({{ variable1 }} - {{ variable2 }} / 100)')); $formula->setParameter('variable1', 10); $formula->setParameter('variable2', 13); echo $formula->render(); // (10 - 13 / 100) + 13
Mathematic operations
Works as above + constant Formula::CALCULABLE
, it'll use Hoa\Math
arithmetic grammar to evaluate your operation. Example:
use Rezzza\Formulate\Formula; $formula = new Formula('{{ subformula1 }} + {{ variable2 }}'); $formula->setSubFormula('subformula1', new Formula('(30 / 2) * -10', Formula::CALCULABLE)); $formula->setParameter('variable2', '10'); echo $formula->render(); // -150 + 10 $formula->setIsCalculable(true); echo $formula->render(); // -140
Look at Hoa Math repository.
Tests
php composer install --dev bin/atoum -d tests/units
Todo
- Add more tests