Генерация случайного числа в CakePHP?

#php #cakephp #frameworks #random

#php #cakephp #фреймворки #Случайный

Вопрос:

В моем контроллере cakephp я хочу иметь переменную, которая хранит случайное число, к которому может получить доступ любая функция. Переменная random number укажет определенный массив, который будут использовать несколько функций. Я перепробовал кучу вариантов функции rand(), самый последний:

 $rand = rand(1, 4);
  

вне класса контроллера и внутри класса контроллера. Кто-нибудь может помочь? Высоко ценится?

Эндрю

Ответ №1:

Добавьте что-то подобное в свой контроллер:

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

Теперь вы можете использовать $this->myRandomNumber отовсюду в контроллере. Оно останется неизменным во время запроса.

Ответ №2:

Это число постоянно меняется? Если нет, почему бы не установить случайную переменную в вашем конфигурационном файле.

Если да, используйте rand и сохраните его …. или, если вам тоже нужны буквы, используйте что-то вроде md5 (время соль)

Ответ №3:

Имеет ли функция генератора случайных чисел какое-либо отношение к базам данных? Если нет, я бы добавил функцию в bootstrap.php в папке config

Ответ №4:

Я бы предпочел использовать array_rand , если случайное число будет меняться в зависимости от размера массива.

Вы можете поместить переменную в конфигурационный файл, если случайное число должно быть постоянным в том же запросе, или создать модель / плагин для хранения метода, который выполняет эту точную строку:

 return array_rand($my_array);