Как лучше обрабатывать результат? Доброй ночи. Подскажите пожалуйста. У меня есть MySQL таблица A. В этой таблице есть поле A1. В этом поле хранятся данные в JSON. Где правильнее будет декодировать это значение?
Допустим есть таблица
Tasks
id (int) | name (text) | params (text/json)
1 Вариант
Получаем данные из таблицы и декодируем поле params вручную только когда понадобятся его значения
Например:$query = mysql_query('SELECT * FROM `tasks`');
while($task = mysql_fetch_assoc($query))
{
$taskParams = json_decode($task['params']);
echo $taskParams['time_start'];
}
2 Вариант
Получаем данные из таблицы, создаём объект для каждой строки, который автоматически обработает поля, что бы не делать это постоянно вручную
Например:class Task
{
public $id;
public $name;
public $params;

function __construct($task)
{
$this->id = $task['id'];
$this->name = $task['name'];
$this->params = json_decode($task['params']);
}
}
$query = mysql_query('SELECT * FROM `tasks`');
while($taskOriginal = mysql_fetch_assoc($query))
{
$task = new Task($taskOriginal);
echo $task->params['time_start'];
}
Это простейшие примеры, что бы иметь представление.
Мне второй вариант больше нравится. Как бы сделали вы?

21 Авг 2019 в 07:09
185 +1
1
Ответы
1

Оба варианта имеют свои плюсы и минусы, и выбор конкретного варианта зависит от требований вашего проекта.

Первый вариант более простой и прямолинейный, но он может привести к дублированию кода, если вам придется работать с параметрами JSON в нескольких местах вашего кода.

Второй вариант более структурированный и организованный. Он помогает изолировать логику работы с JSON в рамках отдельного класса и делает код более читаемым и поддерживаемым. Однако он немного более сложный и требует небольшого дополнительного кода для создания класса и его экземпляров.

Если вам нужно работать с параметрами JSON в разных частях вашего проекта, то, возможно, второй вариант будет более предпочтителен. Если же вам нужно просто получить данные из JSON в конкретном месте кода и больше нигде, то первый вариант может быть более удобным.

Поэтому выбор зависит от конкретных задач вашего проекта и ваших предпочтений. Оба варианта вполне валидны и могут быть использованы в различных ситуациях.

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