Как реализовать PHP class распределения задач? Сразу обозначу, что только начал кодить в стиле MVC используя при этом ООП. На данный момент встала задача написать класс, который можно использовать для распределения задач (задачи - что-то аля тикетов для сотрудников, например). Хотелось бы понять правильно ли я мыслю и вообще понимаю ООП-ый синтаксис в PHP. class swich_task
{

// Массив исполнители

private static $_arr_users_skil;


// функция установки значений массив выше
public static function set_arr_u($arr_u)
{

}


// функция
public static function switch($arr_task, $arr_users)
{

}
}
Суть такая:
1) установил массив значений $arr_skill[user_id][id_skill]=0/1; (умения пользователей)
Понятное дело, что эти данные редко меняются, установил и забыл.
2) Вызвал метод switch засунул туда Два массива (типа первого) только там другие данные: (id_user/query_lenght) и (id_task/id_skill).
Метод получил эти два массива с ID пользователя + длинна очереди, в каких-то еденицах и ID задания + ID типа задания.
А на выход выдал массив ID_TASK/ID_USER, выбрав юзера у котрого меньше всего навыков и самая короткая очередь, ну и разумеется он вообще имеет ID такого навыка.
Ну это не полный функционал, а идея исполнения. Меня лично не покидает мысль, что я просто продолжаю кодить функционально, просто сгруппировал функции в классе.
Вопрос: как решить эту задачу используя "всю мощь ООП"? Конкретная реализация методов не интересует, т.е. function useradd($id_user)
{
// берет переменную / массив и делает с ней что-то там
}
Более чем достаточно))

21 Авг 2019 в 07:08
196 +1
0
Ответы
1

Для реализации данной задачи с помощью ООП вам необходимо создать несколько классов. Можно начать с создания класса User, который будет представлять пользователя с его навыками и очередью задач. Затем создайте класс Task, который будет представлять задачу с определенным навыком.

Далее создайте класс TaskDistribution, который будет отвечать за распределение задач пользователям на основе их навыков и очереди. У этого класса может быть метод distributeTasks, который принимает массив пользователей и массив задач, и возвращает массив с распределенными задачами пользователям.

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

20 Апр в 13:07
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 83 989 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир