* @package Vhs * @subpackage ViewHelpers\Random */ class StringViewHelper extends AbstractViewHelper { /** * @param integer $length * @param integer $minimumLength * @param integer $maximumLength * @param string $characters * @return string */ public function render($length = NULL, $minimumLength = 32, $maximumLength = 32, $characters = '0123456789abcdef') { $minimumLength = intval($minimumLength); $maximumLength = intval($maximumLength); $length = ($minimumLength != $maximumLength ? rand($minimumLength, $maximumLength) : ($length !== NULL ? $length : $minimumLength)); $string = ''; for ($i = 0; $i < $length; $i++) { $randomIndex = mt_rand(0, strlen($characters) - 1); $string .= $characters{$randomIndex}; } return $string; } }