Mélange aléatoire d'octets avec PHP et la classe randomizer

Publié le 10/09/2023 • Actualisé le 10/09/2023


English language detected! 🇬🇧

  We noticed that your browser is using English. Do you want to read this post in this language?

Read the english version 🇬🇧 Close

Dans ce bout de code, nous voyons comment mélanger aléatoirement les octets d'une chaîne de caractères avec PHP et la classe randomizer. On utilise la fonction shufflebytes(). Cette fonction ne fonctionne pas correctement si la chaîne contient des caractères unicode comme des émoticônes.


<?php

declare(strict_types=1);

namespace App\Controller\Snippet;

/**
 * J'utilise un trait PHP afin d'isoler chaque snippet dans un fichier.
 * Ce code doit être apellé d'un contrôleur Symfony étendant AbstractController (depuis Symfony 4.2)
 * ou Symfony\Bundle\FrameworkBundle\Controller\Controller (Symfony <= 4.1).
 * Les services sont injectés dans le constructeur du contrôleur principal.
 */
trait Snippet271Trait
{
    public function snippet271(): void
    {
        $r = new \Random\Randomizer();
        $bytes = 'abcdefghijklmnopqrstuvwxyz';

        var_dump($bytes);
        echo PHP_EOL;
        var_dump($r->shuffleBytes($bytes));

        // That's it! 😁
    }
}

 Exécuter le snippet  Plus sur Stackoverflow   Lire la doc  Snippet aléatoire

  Travaillez avec moi !