2011-05-08 2 views
0

Dans mon contrôleur cakephp, je veux avoir une variable qui stocke un nombre aléatoire auquel n'importe quelle fonction peut accéder. La variable de nombre aléatoire indiquera un certain tableau que plusieurs fonctions utiliseront. J'ai essayé un tas de variations de la fonction rand(), plus récemment:Générer un nombre aléatoire dans CakePHP?

$rand = rand(1, 4); 

en dehors de la classe de contrôleur et à l'intérieur de la classe du contrôleur. Quelqu'un peut-il aider? Très appréciée?

Andrew

Répondre

0

Ce numéro change-t-il constamment? Si non, pourquoi ne pas définir une variable aléatoire dans votre fichier de configuration.

Si oui, utilisez rand et le stocker .... ou si vous voulez des lettres aussi, utiliser quelque chose comme md5 (temps + sel)

0

Est-ce que la fonction de générateur aléatoire doit faire quoi que ce soit avec des bases de données? Si non, je voudrais ajouter la fonction à bootstrap.php dans le dossier de configuration

0

Je préfère utiliser array_rand si le nombre aléatoire change en fonction de la taille d'un tableau.

Vous pouvez mettre la variable dans un fichier de configuration si le nombre aléatoire doit être constante dans la même demande, ou faire un modèle/plug-in pour stocker une méthode qui fait cette ligne précise:

return array_rand($my_array); 
2

Ajouter quelque chose comme celui-ci à votre contrôleur:

function beforeFilter() { 
    $this->myRandomNumber = rand(1,4); 
} 

vous pouvez maintenant utiliser $this->myRandomNumber de partout dans le contrôleur. Il restera le même pendant la demande.

Questions connexes