hawkkiller, тут прикол скорее в том, что такая задача по силам опытным программистам, которые поработали в сфере геймдева, это не уровень одной книги или туториала
leon_lacartez, array_rand($arr) возвращает только ключ массива, поэтому он возвращал Вам 0.
Чтобы получить рандомное значение, а не только ключ, нужно писать $arr[array_rand($arr)]
Вячеслав Коростин, тогда тут много работы, чтобы воспроизводить проблему) придется проверять пошаговой отладкой (xdebug/старый добрый var_dump() и die())
Код функции add странный и не дает представления о всем пути формирования роутов
В других языках написана обертка над установкой этой capability, надо найти, как этот параметр в сыром виде называется, так в реальности все параметры устанавливаются через массив chrome options. Можно накатать issue в репу пхп хромдрайвера
dnsite, "одна кнопка" отправляет на один обработчик)) а внутри обработчика можете связать данные как Вам удобно. Тут по логиче сначала Entity создать, потом ее айдишку в EntityTranslate засовывать (как wscms указал)
У Вас четыре одинаковые точки выхода из функции (return 0;), тут или рефакторить функцию на более однозначные шаги, или ручками дебажить) если бы файл не подключался, то вылетала бы ошибка о вызове несуществующей функции