Комментарии: 41

Предыдущие 10 комментариев

  1. Админ

    Решили пока не включать в файл my/collection.php функции для получения списка или количества элементов. Но обсудить эти функции вполне уместно. В качестве основной функции получения списка можно использовать функцию с именем page (порядок аргументов можно изменить):

    function page(
      $col = null,
      $pn = 0,
      $pp = 10,
      $filter = [],
      $meta = [],
      $order = ['id' => ORDER_ASC]
    )
    

    Аргумент $pn определяет номер «страницы», т.е. номер фрагмента списка. Страницы нумеруются с 1. Значение 0 позволяет получить полный список.

    Аргумент $pp определяет размер «страницы» (максимальное количество элементов в ней). Значение 0 зарезервировано. Значение 0 можно использовать, как значение по умолчанию, чтобы получать фактическое значение размера из другого источника, например из конфигурации приложения.

    Аргумент $filter позволяет выполнить простую фильтрацию – выбрать элементы с указанными в фильтре значениями полей. Для более сложной фильтрации можно использовать отдельную функцию с именем filter.

    Аргумент $meta позволяет дополнить выбираемые элементы полями с метаданными из словарных коллекций, например при связывании с коллекцией category элементы будут дополнены полями category_id и category_name. Для более сложного выбора метаданных можно использовать отдельную функцию с именем meta(data).

    Аргумент $order позволяет упорядочить выбираемые элементы. При этом константы ORDER_ASC и ORDER_DESC должны быть определены в файле my/db.php.

    Возвращаемым значением может быть как массив элементов, так и объект, например типа mysqli_result.

    Можно использовать не только функцию получения количества элементов itemCount, но и функцию получения количества страниц pageCount.

Отправить комментарий

Ваш адрес E-mail не будет опубликован.