Как получить случайную строку внутри класса?

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

Написать метод внутри класса регистрации? - но мне случайная строка заданной длины и в других классах бывает нужна.

Написать специальный класс-обертку для таких методов и получать строку чем-то вроде Str::getRandom(10)?

Или сделать глобальную функцию randStr($num)? Но я не хочу вообще использовать библиотеки функций, насколько знаю, это неправильно, всё по возможности должно быть в классах.
  • Вопрос задан
  • 146 просмотров
Решения вопроса 1
Immortal_pony
@Immortal_pony Куратор тега PHP
Написать специальный класс-обертку для таких методов и получать строку чем-то вроде Str::getRandom(10)
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@Centrino
используйте примеси.
Ответ написан
mr_T
@mr_T
Web-разработчик
Если есть возможность писать функции без классов, то почему бы и нет? Это ж не Java или C#, где просто физически такой возможности нет, поэтому, очевидно, там так никто не делает, а все используют классы-обертки.

Класс по-хорошему должен описывать сущность и ее поведение, а не являться контейнером для функций. Исключение - вспомогательные функции, используемые только данным классом (private) или его потомками (protected).

Примеси тоже не годятся - они нужны для того, чтобы реализовать общее поведение разных сущностей, а, опять-таки, не для того, чтобы хранить набор вспомогательных функций.

Лично я вижу только одну проблему в функциях - возможные конфликты имен. Но и эта проблема легко решается с помощью namespace'ов.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы