#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);