Я пишу веб-приложение mvc с фреймворком yii. У меня есть кусок бизнес-логики, и я не уверен, где его разместить. $usernameid=$model->random_id_gen('5');
- это функция, о которой я говорю.
SiteController:
<!-- snip -->
public function actionIndex()
{
$model = new Users();
if (isset($_POST['Users'])) {
//call the active record table model
$model = new Users();
//massively assign attributes
$model->attributes=$_POST['Users'];
//generate random userid
$usernameid=$model->random_id_gen('5');
<!-- snip -->
Класс активной записи пользователя:
<!-- snip -->
public function random_id_gen($length)
{
$characters = '23456789ABCDEFGHJKLMNPQRSTUVWXYZ';
$max = strlen($characters) - 1;
$string = '';
for ($i = 0; $i < $length; $i++) {
$string .= $characters[mt_rand(0, $max)];
}
return $string;
}
Мой вопрос: относится ли эта функция генератора идентификаторов к модели активной записи? Это должно быть в контроллере? Должно ли это быть в отдельной модели, так как это «бизнес-логика», но она имеет мало общего с базами данных?
Я пытаюсь стать лучше, не "вздувая" мои классы MVC. Спасибо раньше времени, ребята.
UPDATE
Я ищу конкретное решение yii. Похоже, что вопрос превратился в «куда помещать библиотеки в yii», если существует такое соглашение.