Imbo\Image\Identifier\Generator\RandomString::generate PHP Method

generate() public method

public generate ( Image $image )
$image Imbo\Model\Image
    public function generate(Image $image)
    {
        $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890_-';
        $charsLen = strlen($chars);
        $key = '';
        for ($i = 0; $i < $this->stringLength; $i++) {
            $key .= $chars[mt_rand(0, $charsLen - 1)];
        }
        return $key;
    }

Usage Example

Beispiel #1
0
 public function testGeneratesUniqueStrings()
 {
     $stringLength = 15;
     $image = $this->getMock('Imbo\\Model\\Image');
     $generator = new RandomStringGenerator($stringLength);
     $generated = [];
     for ($i = 0; $i < 15; $i++) {
         $imageIdentifier = $generator->generate($image);
         // Does it have the right format?
         $this->assertRegExp('/^[A-Za-z0-9_-]{' . $stringLength . '}$/', $imageIdentifier);
         // Make sure it doesn't generate any duplicates
         $this->assertFalse(in_array($imageIdentifier, $generated));
         $generated[] = $imageIdentifier;
     }
 }