zendframework/zend-math
Zend Math provides math utilities for PHP, including big integer/decimal support, random number generation, and statistical helpers. Part of the Zend Framework ecosystem, it offers consistent, tested components for numeric operations.
#33 modifies the Bcmath BigInteger class to no longer change the global
bcscale, but instead send the 0 scale value explicitly to each bcmath operation. This prevents
side effects when using bcmath in other scenarios.
#29 modifies how caught exceptions are re-thrown; all such cases now provide the original exception as the previous exception.
This version contains a number of changes to required dependencies, error handling, and internals; please read the migration document for full details.
ext/mbstring.paragonie/random_compat for polyfilling PHP 7's random_bytes() and
random_int() functionality.$strong optional parameter from the following methods, as the component now
ensures a cryptographically secure pseudo-random number generator is always
used:
Rand::getBytes($length)Rand::getBoolean()Rand::getInteger($min, $max)Rand::getFloat()Rand::getString($length, $charlist = null)/dev/urandom or COM (this is delegated to
random_bytes() and/or paragonie/random_compat)Zend\Math\Source\HashTiming, as it was used only with RandomLib.substr() and strlen() with mb_substr() and
mb_strlen(); these ensure that all string manipulations within the component
remain binary safe.Zend\Math\Rand to use PHP 7's random_bytes() and random_int() or mcrypt
when detected, and fallback to ircmaxell/RandomLib otherwise, instead of using
openssl. This provides more cryptographically secure pseudo-random generation.Zend\Math\BigInteger\AdapterPluginManager, and thus the zend-servicemanager
dependency. Essentially, no other possible plugins are likely to ever be
needed outside of those shipped with the component, so using a plugin manager
was overkill. The functionality for loading the two shipped adapters has beenbase_convert() is used for base36 and below, while continuing to use the
base62 alphabet for anything above.How can I help you explore Laravel packages today?