chocofamilyme / restapi-helpers
Вспомогательные функции и классы для проекта RestAPI
Installs: 16 190
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 3
Forks: 0
Open Issues: 0
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: 2024-10-25 19:20:02 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' ]; }