arokettu/random-polyfill

Random Extension Polyfill for PHP

0.3.0 2022-08-05 01:26 UTC

This package is auto-updated.

Last update: 2022-08-18 19:47:20 UTC


README

Packagist PHP Packagist Gitlab pipeline status Codecov

This is a polyfill for the new ext-random extension that will be released with PHP 8.2.

RFC:

Requirements

  • PHP 7.1
  • GMP extension

Installation

composer require 'arokettu/random-polyfill'

Compatibility

The library is compatible with ext-random as released in PHP 8.2.0 beta 1.

What works

  • Random\Randomizer
  • Engines
    • Random\Engine interface
    • Random\CryptoSafeEngine interface
    • Secure Engine: Random\Engine\Secure
    • Mersenne Twister: Random\Engine\Mt19937
    • PCG64: Random\Engine\PcgOneseq128XslRr64
    • xoshiro256**: Random\Engine\Xoshiro256StarStar

TODO

  • Keep updating with fixes from the upcoming betas and release 1.0.0 around PHP 8.2.0 rc 1
  • Empty arokettu/random-polyfill v1.99 for PHP 8.2.0 users
  • Spin-off without extension dependencies?

Documentation

Read full documentation here: https://sandfox.dev/php/random-polyfill.html

Also on Read the Docs: https://php-random-polyfill.readthedocs.io/

Support

Please file issues on our main repo at GitLab: https://gitlab.com/sandfox/php-random-polyfill/-/issues

License

The library is available as open source under the terms of the 3-Clause BSD License. See COPYING.adoc for additional licenses.