chocofamilyme / restapi-helpers
Вспомогательные функции и классы для проекта RestAPI
Installs: 19 410
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
pkg:composer/chocofamilyme/restapi-helpers
Requires
- php: >= 7.0.0
- ext-phalcon: >= 3.0.0
Requires (Dev)
- phpunit/phpunit: ^4.0|^5.0
This package is auto-updated.
Last update: 2025-10-25 21:41:01 UTC
README
Внимание начиная с версии 2.x "глобальная" функция коллекции "collect" была перемеинована в "pcollect"
Требуется
- Phalcon > 3.0.0
- RestAPI
Коллекции
Коллекции принимают как параметр массив.
Cоздание
Есть два способа создания коллекции
- Через helper pсollect, пример:
$collection = pcollect([1, 2 , 3, 4]); return $collection->first(); //1
- Через класс
use Chocofamily\Collection\Collection; $collection = new Collection([1,2,3,4]); return $collection->last();//4
Методы
На данный момент у коллекции доступны следующий список методов:
first()- Возвращает первый атрибут коллекцииlast()- Возвращает последний атрибут коллекцииkey()- возвращает индекс текущего атрибута коллекции.next()- Возвращает следующий после текущего атрибута коллекцииcurrent()- Возвращает текущий атрибут коллекцииall()- Возвращает все атрибуты коллекции в виде массиваmap()- Обертка над функцией array_mapmapWithKeys()- Аналог метода mapwithkeys c Laravelfilter()- Обертка над функцией array-filterreduce()- Обертка над функцией array_reducediff()- Обертка над функцией array_diffdiffUsing()- Обертка над функцией array_udiffdiffAssoc()- Обертка над функцией array_diff_assocdiffAssocUsing()- Обертка над функцией array_diff_assoc -diffKeys()- Обертка над функцией array_diff_keydiffKeysUsing()- Обертка над функцией array_diff_ukeyeach()- Аналог метода each с Laravelwhen()- Аналог метода when с Laravelflip()- Обертка над функцией array_flipsplice()- Аналог метода splice с Laravelmerge()- Обертка над функцией array_mergecombine()- Обертка над функцией array_combinepartition()- Аналог метода partition с Laravelreverse()- Обертка над функцией array_reverseintersect()- Обертка над функцией array_intersectintersectByKeys()- Обертка над функцией array_intersect_keypad()- Обертка над функцией array_padslice()- Обертка над функцией array_slicechunk()- Аналог метода chunk с Laravelexists()- Принимает как параметр callback, и возвращает true false в зависимости от условииvalues()- Обертка над функцией array_valueskeys()- Обертка над функцией array_keysadd()- Добавляет новый атрибут к коллекцииremove()- Удаляет атрибут по ключуpush()- Аналог метода push с Laravelsort()- Аналог метода sort с Laravel
Модели
В модели доступны все методы коллекции.
На данный момент в моделях можно указать:
- свойство
fillable- список элементов для массового заполнения - cвойство
required- список обязательных элементов для заполненения (в случае отсутствии элементов из списка required выкидывается exceptionMissingRequiredException)
Пример
<?php use Chocofamily\Collection\Model; class ModelStub extends Model { protected $fillable = [ 'first_name', 'last_name', 'age', 'sex', 'active' ]; protected $required = [ 'first_name' ]; }