Лучшие практики получения больших объемов данных [laravel Restfult API] - PullRequest
0 голосов
/ 16 февраля 2020

У меня есть случай получения большого объема данных для обработки в API.

Какова лучшая практика его получения

Первый подход => создать несколько массивов, каждый из которых содержит данные каждого поля

$names = ['SAM','John','Vardy'];

$ages = ['19','20','22'];

или Второй подход => создать один массив, у каждого индекса есть свой объект

$data = [
   {
     'name':'SAM',
     'age':'19'
   },
   {
     'name':'John',
     'age':'20'
   },
   {
     'name':'Vardy',
     'age':'22'
   },
];

какой из них лучший ???

Ответы [ 2 ]

0 голосов
/ 16 февраля 2020

«Лучше» - это субъективный термин, и на этом сайте мы имеем дело с объективными критериями. Итак, во-первых, давайте определим, что «лучше» в этом случае:

  • многоразового использования
  • простота в обслуживании
  • понятная
  • надежная

Теперь, если вы создадите много массивов с n элементами каждый и n-й элемент всех будет взаимосвязан, то вам всегда придется иметь дело с некоторыми указанными c массивами, так что на самом деле это не будет быть многоразовым Вы можете написать некоторые функции, которые облегчат некоторые проблемы, но это не меняет того факта, что у вас всегда будут определенные столбцы c для работы. Если у вас есть массив, в котором каждый элемент представляет собой набор пар имя-поле-имя-поля, то в качестве идеи это можно использовать повторно. Вам просто нужно отслеживать имена и значения столбцов, а не создавать массив имен каждого столбца.

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

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

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

Итак, давайте получим массив с field-name пары field-value, вы также можете реализовать некоторые вспомогательные функции для проверки, добавления, удаления или обновления элементов.

0 голосов
/ 16 февраля 2020

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...