Файловый менеджер - Редактировать - /home/tuudkjt/globeasy/wp-includes/ID3/nahid.tar
Назад
qarray/src/Utilities.php 0000777 00000001303 15251235576 0011335 0 ustar 00 <?php namespace Rvx\Nahid\QArray; class Utilities { public static function toArray($data) { if (!\is_array($data) && !$data instanceof QueryEngine) { return [$data]; } $new_data = []; foreach ($data as $key => $map) { if ($map instanceof QueryEngine) { $new_data[$key] = self::toArray($map); } else { $new_data[$key] = $map; } } return $new_data; } public static function qarray($data = []) { if (!\is_array($data)) { $data = []; } $instance = ArrayQuery::getInstance(); return $instance->collect($data); } } qarray/src/ConditionFactory.php 0000777 00000015226 15251235576 0012651 0 ustar 00 <?php namespace Rvx\Nahid\QArray; use Rvx\Nahid\QArray\Exceptions\KeyNotPresentException; final class ConditionFactory { /** * Simple equals * * @param mixed $value * @param mixed $comparable * * @return bool */ public static function equal($value, $comparable) { return $value == $comparable; } /** * Strict equals * * @param mixed $value * @param mixed $comparable * * @return bool */ public static function strictEqual($value, $comparable) { return $value === $comparable; } /** * Simple not equal * * @param mixed $value * @param mixed $comparable * * @return bool */ public static function notEqual($value, $comparable) { return $value != $comparable; } /** * Strict not equal * * @param mixed $value * @param mixed $comparable * * @return bool */ public static function strictNotEqual($value, $comparable) { return $value !== $comparable; } /** * Strict greater than * * @param mixed $value * @param mixed $comparable * * @return bool */ public static function greaterThan($value, $comparable) { return $value > $comparable; } /** * Strict less than * * @param mixed $value * @param mixed $comparable * * @return bool */ public static function lessThan($value, $comparable) { return $value < $comparable; } /** * Greater or equal * * @param mixed $value * @param mixed $comparable * * @return bool */ public static function greaterThanOrEqual($value, $comparable) { return $value >= $comparable; } /** * Less or equal * * @param mixed $value * @param mixed $comparable * * @return bool */ public static function lessThanOrEqual($value, $comparable) { return $value <= $comparable; } /** * In array * * @param mixed $value * @param array $comparable * * @return bool */ public static function in($value, $comparable) { return \is_array($comparable) && \in_array($value, $comparable); } /** * Not in array * * @param mixed $value * @param array $comparable * * @return bool */ public static function notIn($value, $comparable) { return \is_array($comparable) && !\in_array($value, $comparable); } public static function inArray($value, $comparable) { if (!\is_array($value)) { return \false; } return \in_array($comparable, $value); } public static function inNotArray($value, $comparable) { return !static::inArray($value, $comparable); } /** * Is null equal * * @param mixed $value * * @return bool */ public static function isNull($value, $comparable) { return \is_null($value); } /** * Is not null equal * * @param mixed $value * * @return bool */ public static function isNotNull($value, $comparable) { return !$value instanceof KeyNotExists && !\is_null($value); } public static function notExists($value, $comparable) { return $value instanceof KeyNotExists; } public static function exists($value, $comparable) { return !static::notExists($value, $comparable); } /** * Start With * * @param mixed $value * @param string $comparable * * @return bool */ public static function startWith($value, $comparable) { if (\is_array($comparable) || \is_array($value) || \is_object($comparable) || \is_object($value)) { return \false; } if (\preg_match("/^{$comparable}/", $value)) { return \true; } return \false; } /** * End with * * @param mixed $value * @param string $comparable * * @return bool */ public static function endWith($value, $comparable) { if (\is_array($comparable) || \is_array($value) || \is_object($comparable) || \is_object($value)) { return \false; } if (\preg_match("/{$comparable}\$/", $value)) { return \true; } return \false; } /** * Match with pattern * * @param mixed $value * @param string $comparable * * @return bool */ public static function match($value, $comparable) { if (\is_array($comparable) || \is_array($value) || \is_object($comparable) || \is_object($value)) { return \false; } $comparable = \trim($comparable); if (\preg_match("/^{$comparable}\$/", $value)) { return \true; } return \false; } /** * Contains substring in string * * @param string $value * @param string $comparable * * @return bool */ public static function contains($value, $comparable) { return \strpos($value, $comparable) !== \false; } /** * Dates equal * * @param string $value * @param string $comparable * * @return bool */ public static function dateEqual($value, $comparable, $format = 'Y-m-d') { $date = \date($format, \strtotime($value)); return $date == $comparable; } /** * is given value instance of value * * @param string $value * @param string $comparable * * @return bool */ public static function instance($value, $comparable) { return $value instanceof $comparable; } /** * is given value data type of value * * @param string $value * @param string $comparable * * @return bool */ public static function type($value, $comparable) { return \gettype($value) === $comparable; } /** * is given value exits in given key of array * * @param string $value * @param string $comparable * * @return bool */ public static function any($value, $comparable) { if (\is_array($value)) { return \in_array($comparable, $value); } return \false; } /** * is given value exits in given key of array * * @param string $value * @param string $comparable * * @return bool */ public static function execFunction($value, $comparable) { if (\is_array($value)) { return \in_array($comparable, $value); } return \false; } } qarray/src/Clause.php 0000777 00000053736 15251235576 0010617 0 ustar 00 <?php namespace Rvx\Nahid\QArray; use Rvx\Nahid\QArray\Exceptions\ConditionNotAllowedException; use Rvx\Nahid\QArray\Exceptions\InvalidNodeException; use Rvx\Nahid\QArray\Exceptions\KeyNotPresentException; use function Rvx\DeepCopy\deep_copy; class Clause { /** * store node path * @var string|array */ protected $_node = ''; /** * contain prepared data for process * @var mixed */ protected $_data; /** * contains column names * @var array */ protected $_select = []; /** * @var int */ protected $_offset = 0; /** * @var null */ protected $_take = null; /** * contains column names for except * @var array */ protected $_except = []; /** * Stores base contents. * * @var array */ protected $_original = []; /** * Stores all conditions. * * @var array */ protected $_conditions = []; /** * @var bool */ protected $_isProcessed = \false; /** * @var string */ protected $_traveler = '.'; /** * map all conditions with methods * @var array */ protected static $_conditionsMap = ['=' => 'equal', 'eq' => 'equal', '==' => 'strictEqual', 'seq' => 'strictEqual', '!=' => 'notEqual', 'neq' => 'notEqual', '<>' => 'notEqual', '!==' => 'strictNotEqual', 'sneq' => 'strictNotEqual', '>' => 'greaterThan', 'gt' => 'greaterThan', '<' => 'lessThan', 'lt' => 'lessThan', '>=' => 'greaterThanOrEqual', 'gte' => 'greaterThanOrEqual', '<=' => 'lessThanOrEqual', 'lte' => 'lessThanOrEqual', 'in' => 'in', 'notin' => 'notIn', 'inarray' => 'inArray', 'notinarray' => 'notInArray', 'null' => 'isNull', 'notnull' => 'isNotNull', 'exists' => 'exists', 'notexists' => 'notExists', 'startswith' => 'startWith', 'endswith' => 'endWith', 'match' => 'match', 'contains' => 'contains', 'dates' => 'dateEqual', 'instance' => 'instance', 'type' => 'type', 'any' => 'any']; /** * @param array $props * @return $this */ public function fresh($props = []) { $properties = ['_data' => [], '_original' => [], '_select' => [], '_isProcessed' => \false, '_node' => '', '_except' => [], '_conditions' => [], '_take' => null, '_offset' => 0, '_traveler' => '.']; foreach ($properties as $property => $value) { if (isset($props[$property])) { $value = $props[$property]; } $this->{$property} = $value; } return $this; } /** * import parsed data from raw json * * @param array|object $data * @return self */ public function collect($data) { $this->reProcess(); $this->fresh(); $this->_data = deep_copy($data); $this->_original = deep_copy($data); return $this; } /** * Prepare data from desire conditions * * @return $this */ protected function prepare() { if ($this->_isProcessed) { return $this; } if (\count($this->_conditions) > 0) { $calculatedData = $this->processQuery(); if (!\is_null($this->_take)) { $calculatedData = \array_slice($calculatedData, $this->_offset, $this->_take); } $this->_data = $calculatedData; $this->_isProcessed = \true; return $this; } $this->_isProcessed = \true; if (!\is_null($this->_take)) { $this->_data = \array_slice($this->_data, $this->_offset, $this->_take); } $this->_data = $this->getData(); return $this; } /** * Our system will cache processed data and prevend multiple time processing. If * you want to reprocess this method can help you * * @return $this */ public function reProcess() { $this->_isProcessed = \false; return $this; } /** * Parse object to array * * @param object $obj * @return array|mixed */ protected function objectToArray($obj) { if (!\is_array($obj) && !\is_object($obj)) { return $obj; } if (\is_array($obj)) { return $obj; } if (\is_object($obj)) { $obj = \get_object_vars($obj); } return \array_map([$this, 'objectToArray'], $obj); } /** * Check given value is multidimensional array * * @param array $arr * @return bool */ protected function isMultiArray($arr) { if (!\is_array($arr)) { return \false; } \rsort($arr); return isset($arr[0]) && \is_array($arr[0]); } /** * Check the given array is a collection * * @param $array * @return bool */ protected function isCollection($array) { if (!\is_array($array)) { return \false; } return \array_keys($array) === \range(0, \count($array) - 1); } /** * Set node path, where QArray start to prepare * * @param null $node * @return $this * @throws InvalidNodeException */ public function from($node = null) { $this->_isProcessed = \false; if (\is_null($node) || $node == '') { throw new InvalidNodeException(); } $this->_node = $node; return $this; } /** * Taking desire columns from result * * @param $array * @return array */ public function takeColumn($array) { return $this->selectColumn($this->exceptColumn($array)); } /** * selecting specific column * * @param $array * @return array */ protected function selectColumn($array) { $keys = $this->_select; if (\count($keys) == 0) { return $array; } $select = \array_keys($keys); $columns = \array_intersect_key($array, \array_flip((array) $select)); $row = []; foreach ($columns as $column => $val) { $fn = null; if (\array_key_exists($column, $keys)) { $fn = $keys[$column]; } if (\is_callable($fn)) { $val = \call_user_func_array($fn, [$val, $array]); } $row[$column] = $val; } return $row; } /** * selecting specific column * * @param $array * @return array */ protected function exceptColumn($array) { $keys = $this->_except; if (\count($keys) == 0) { return $array; } return \array_diff_key($array, \array_flip((array) $keys)); } /** * select desired column * * @param array $columns * @return $this */ public function select($columns = []) { if (!\is_array($columns)) { $columns = \func_get_args(); } $this->setSelect($columns); return $this; } /** * setter for select columns * * @param array $columns */ protected function setSelect($columns = []) { if (\count($columns) <= 0) { return; } foreach ($columns as $key => $column) { if (\is_string($column)) { $this->_select[$column] = $key; } elseif (\is_callable($column)) { $this->_select[$key] = $column; } else { $this->_select[$column] = $key; } } } /** * Set offset value for slice of array * * @param $offset * @return $this */ public function offset($offset) { $this->_offset = $offset; return $this; } /** * Set taken value for slice of array * * @param $take * @return $this */ public function take($take) { $this->_take = $take; return $this; } /** * select desired column for except * * @param array $columns * @return $this */ public function except($columns = []) { if (!\is_array($columns)) { $columns = \func_get_args(); } if (\count($columns) > 0) { $this->_except = $columns; } return $this; } /** * Prepare data for result * * @param mixed $data * @param bool $newInstance * @return array|mixed */ protected function makeResult($data, $newInstance = \false) { if (!$newInstance || \is_null($data) || \is_scalar($data) || !\is_array($data)) { $this->_data = $data; return $this; } /* foreach ($data as $key => $val) { $output[$key] = $this->generateResultData($val); }*/ return $this->instanceWithValue($data, ['_select' => $this->_select, '_except' => $this->_except]); } /** * Create/Copy new instance with given value * * @param $value * @param array $meta * @return mixed */ protected function instanceWithValue($value, $meta = []) { $instance = new static(); $instance = $instance->collect($value); $instance->fresh($meta); return $instance; } /** * Set traveler delimiter * * @param $delimiter * @return $this */ public function setTraveler($delimiter) { $this->_traveler = $delimiter; return $this; } /** * Get data from nested array * * @param array $data * @param string $node * @param mixed $default * @return mixed */ protected function arrayGet($data, $node, $default = null) { if (empty($node) || $node == $this->_traveler) { return $data; } if (!$node) { return new KeyNotExists(); } if (isset($data[$node])) { return $data[$node]; } if (\strpos($node, $this->_traveler) === \false) { return $default; } $items = $data; foreach (\explode($this->_traveler, $node) as $segment) { if (!\is_array($items) || !isset($items[$segment])) { return $default; } $items =& $items[$segment]; } return $items; } /** * get data from node path * * @return mixed */ protected function getData() { return $this->arrayGet($this->_data, $this->_node); } /** * Process the given queries * * @return array * @throws ConditionNotAllowedException */ protected function processQuery() { $_data = $this->getData(); $conditions = $this->_conditions; /*return array_filter($data, function ($data) use ($conditions) { return $this->applyConditions($conditions, $data); });*/ $result = []; if (!\is_array($_data)) { return null; } foreach ($_data as $key => $data) { $keep = $this->applyConditions($conditions, $data); if ($keep) { $result[$key] = $this->takeColumn($data); } } return $result; } /** * All the given conditions applied here * * @param $conditions * @param $data * @return bool * @throws ConditionNotAllowedException */ protected function applyConditions($conditions, $data) { $decision = \false; foreach ($conditions as $cond) { $orDecision = \true; $this->processEachCondition($cond, $data, $orDecision); $decision |= $orDecision; } return $decision; } /** * Apply every conditions for each row * * @param $rules * @param $data * @param $orDecision * @return bool|mixed * @throws ConditionNotAllowedException */ protected function processEachCondition($rules, $data, &$orDecision) { if (!\is_array($rules)) { return \false; } $andDecision = \true; foreach ($rules as $rule) { $params = []; $function = null; $value = $this->arrayGet($data, $rule['key']); if (!\is_callable($rule['condition'])) { $function = $this->makeConditionalFunctionFromOperator($rule['condition']); $params = [$value, $rule['value']]; } if (\is_callable($rule['condition'])) { $function = $rule['condition']; $params = [$data]; } if ($value instanceof KeyNotExists) { $andDecision = \false; } $andDecision = \call_user_func_array($function, $params); /* if (! $value instanceof KeyNotExists) { $andDecision = call_user_func_array($function, $params); }*/ //$andDecision = $value instanceof KeyNotExists ? false : call_user_func_array($function, [$value, $rule['value']]); $orDecision &= $andDecision; } return $orDecision; } /** * Build or generate a function for applies condition from operator * @param $condition * @return array * @throws ConditionNotAllowedException */ protected function makeConditionalFunctionFromOperator($condition) { if (!isset(self::$_conditionsMap[$condition])) { throw new ConditionNotAllowedException("Exception: {$condition} condition not allowed"); } $function = self::$_conditionsMap[$condition]; if (!\is_callable($function)) { if (!\method_exists(ConditionFactory::class, $function)) { throw new ConditionNotAllowedException("Exception: {$condition} condition not allowed"); } $function = [ConditionFactory::class, $function]; } return $function; } /** * make WHERE clause * * @param string $key * @param string $condition * @param mixed $value * @return $this */ public function where($key, $condition = null, $value = null) { if (!\is_null($condition) && \is_null($value)) { $value = $condition; $condition = '='; } if (\count($this->_conditions) < 1) { \array_push($this->_conditions, []); } if (\is_callable($key)) { $key($this); return $this; } return $this->makeWhere($key, $condition, $value); } /** * make WHERE clause with OR * * @param string $key * @param string $condition * @param mixed $value * @return $this */ public function orWhere($key = null, $condition = null, $value = null) { if (!\is_null($condition) && \is_null($value)) { $value = $condition; $condition = '='; } \array_push($this->_conditions, []); if (\is_callable($key)) { $key($this); return $this; } return $this->makeWhere($key, $condition, $value); } /** * make a callable where condition for custom logic implementation * * @param callable $fn * @return $this */ public function callableWhere(callable $fn) { if (\count($this->_conditions) < 1) { \array_push($this->_conditions, []); } return $this->makeWhere(null, $fn, null); } /** * make a callable orwhere condition for custom logic implementation * * @param callable $fn * @return $this\ */ public function orCallableWhere(callable $fn) { \array_push($this->_conditions, []); $fn($this); return $this; //return $this->makeWhere(null, $fn, null); } /** * generator for AND and OR where * * @param string $key * @param string $condition * @param mixed $value * @return $this */ protected function makeWhere($key, $condition = null, $value = null) { $current = \end($this->_conditions); $index = \key($this->_conditions); \array_push($current, ['key' => $key, 'condition' => $condition, 'value' => $value]); $this->_conditions[$index] = $current; $this->_isProcessed = \false; return $this; } /** * make WHERE IN clause * * @param string $key * @param array $value * @return $this */ public function whereIn($key = null, $value = []) { $this->where($key, 'in', $value); return $this; } /** * make WHERE DATA TYPE clause * * @param null $key * @param $value * @return $this */ public function whereDataType($key, $value) { $this->where($key, 'type', $value); return $this; } /** * make WHERE NOT IN clause * * @param string $key * @param mixed $value * @return $this */ public function whereNotIn($key = null, $value = []) { $this->where($key, 'notin', $value); return $this; } /** * check the given value are contains in the given array key * * @param $key * @param $value * @return $this */ public function whereInArray($key, $value) { $this->where($key, 'inarray', $value); return $this; } /** * make a callable wherenot condition for custom logic implementation * * @param $key * @param $value * @return $this */ public function whereNotInArray($key, $value) { $this->where($key, 'notinarray', $value); return $this; } /** * make WHERE NULL clause * * @param string $key * @return $this */ public function whereNull($key = null) { $this->where($key, 'null', 'null'); return $this; } /** * make WHERE Boolean clause * * @param string $key * @param mixed $value * @return $this */ public function whereBool($key, $value) { if (\is_bool($value)) { $this->where($key, '==', $value); } return $this; } /** * make WHERE NOT NULL clause * * @param string $key * @return $this */ public function whereNotNull($key) { $this->where($key, 'notnull', 'null'); return $this; } /** * Check the given key is exists in row * * @param $key * @return $this */ public function whereExists($key) { $this->where($key, 'exists', 'null'); return $this; } /** * Check the given key is not exists in row * * @param $key * @return $this */ public function whereNotExists($key) { $this->where($key, 'notexists', 'null'); return $this; } /** * make WHERE START WITH clause * * @param string $key * @param string $value * @return $this */ public function whereStartsWith($key, $value) { $this->where($key, 'startswith', $value); return $this; } /** * make WHERE ENDS WITH clause * * @param string $key * @param string $value * @return $this */ public function whereEndsWith($key, $value) { $this->where($key, 'endswith', $value); return $this; } /** * make WHERE MATCH clause * * @param string $key * @param string $value * @return $this */ public function whereMatch($key, $value) { $this->where($key, 'match', $value); return $this; } /** * make WHERE CONTAINS clause * * @param string $key * @param string $value * @return $this */ public function whereContains($key, $value) { $this->where($key, 'contains', $value); return $this; } /** * make WHERE LIKE clause * * @param string $key * @param string $value * @return $this */ public function whereLike($key, $value) { $this->where($key, 'contains', \strtolower($value)); return $this; } /** * make WHERE DATE clause * * @param string $key * @param string $condition * @param string $value * @return $this */ public function whereDate($key, $condition, $value = null) { return $this->callableWhere(function ($row) use($key, $condition, $value) { $haystack = isset($row[$key]) ? $row[$key] : null; $haystack = \date('Y-m-d', \strtotime($haystack)); $function = $this->makeConditionalFunctionFromOperator($condition); return \call_user_func_array($function, [$haystack, $value]); }); } /** * make WHERE Instance clause * * @param string $key * @param object|string $object * @return $this */ public function whereInstance($key, $object) { $this->where($key, 'instance', $object); return $this; } /** * make WHERE any clause * * @param string $key * @param mixed * @return $this */ public function whereAny($key, $value) { $this->where($key, 'any', $value); return $this; } /** * make WHERE any clause * * @param string $key * @param mixed * @param mixed * @return $this */ public function whereCount($key, $condition, $value = null) { return $this->where($key, function ($columnValue, $row) use($value, $condition) { $count = 0; if (\is_array($columnValue)) { $count = \count($columnValue); } $function = $this->makeConditionalFunctionFromOperator($condition); return \call_user_func_array($function, [$count, $value]); }); } /** * make macro for custom where clause * * @param string $name * @param callable $fn * @return bool */ public static function macro($name, callable $fn) { if (!\array_key_exists($name, self::$_conditionsMap)) { self::$_conditionsMap[$name] = $fn; return \true; } return \false; } } qarray/src/Exceptions/InvalidJsonException.php 0000777 00000000420 15251235576 0015601 0 ustar 00 <?php namespace Rvx\Nahid\QArray\Exceptions; class InvalidJsonException extends \Exception { public function __construct($message = "Invalid JSON format", $code = 0, \Throwable $previous = null) { parent::__construct($message, $code, $previous); } } qarray/src/Exceptions/KeyNotPresentException.php 0000777 00000000444 15251235576 0016141 0 ustar 00 <?php namespace Rvx\Nahid\QArray\Exceptions; class KeyNotPresentException extends \Exception { public function __construct($message = "Key or property not present exception", $code = 0, \Throwable $previous = null) { parent::__construct($message, $code, $previous); } } qarray/src/Exceptions/InvalidNodeException.php 0000777 00000000430 15251235576 0015556 0 ustar 00 <?php namespace Rvx\Nahid\QArray\Exceptions; class InvalidNodeException extends \Exception { public function __construct($message = "Invalid JSON node exception", $code = 0, \Throwable $previous = null) { parent::__construct($message, $code, $previous); } } qarray/src/Exceptions/NullValueException.php 0000777 00000000417 15251235576 0015276 0 ustar 00 <?php namespace Rvx\Nahid\QArray\Exceptions; class NullValueException extends \Exception { public function __construct($message = "Null value exception", $code = 0, \Throwable $previous = null) { parent::__construct($message, $code, $previous); } } qarray/src/Exceptions/ConditionNotAllowedException.php 0000777 00000000453 15251235576 0017306 0 ustar 00 <?php namespace Rvx\Nahid\QArray\Exceptions; class ConditionNotAllowedException extends \Exception { public function __construct($message = "ConditionFactory not allowed exception", $code = 0, \Throwable $previous = null) { parent::__construct($message, $code, $previous); } } qarray/src/Exceptions/FileNotFoundException.php 0000777 00000000426 15251235576 0015723 0 ustar 00 <?php namespace Rvx\Nahid\QArray\Exceptions; class FileNotFoundException extends \Exception { public function __construct($message = "File not found exception", $code = 0, \Throwable $previous = null) { parent::__construct($message, $code, $previous); } } qarray/src/QueryEngine.php 0000777 00000047654 15251235576 0011640 0 ustar 00 <?php namespace Rvx\Nahid\QArray; use Rvx\Nahid\QArray\Exceptions\ConditionNotAllowedException; use Rvx\Nahid\QArray\Exceptions\InvalidNodeException; use Rvx\Nahid\QArray\Exceptions\KeyNotPresentException; use function Rvx\DeepCopy\deep_copy; abstract class QueryEngine extends Clause implements \ArrayAccess, \Iterator, \Countable { /** * this constructor read data from file and parse the data for query * * @param string $data */ public function __construct($data = null) { if (\is_file($data) && \file_exists($data) || \filter_var($data, \FILTER_VALIDATE_URL)) { $this->collect($this->readPath($data)); } else { $this->collect($this->parseData($data)); } } /** * return json string when echoing the instance * * @return string * @throws ConditionNotAllowedException */ public function __toString() { return $this->toJson(); } /** * @param string $path * @return array */ public abstract function readPath($path); /** * @param string $data * @return array */ public abstract function parseData($data); /** * @param $key * @return mixed * @throws KeyNotPresentException */ public function __get($key) { if (isset($this->_data[$key]) or \is_null($this->_data[$key])) { return $this->_data[$key]; } throw new KeyNotPresentException(); } /** * Property override for current object * * @param $key * @param $val */ public function __set($key, $val) { if (\is_array($this->_data)) { $this->_data[$key] = $val; } } /** * @return mixed * @throws ConditionNotAllowedException */ public function __invoke() { return $this->toArray(); } /** * Implementation of ArrayAccess : check existence of the target offset * * @param mixed $key * @return bool */ public function offsetExists($key) { return isset($this->_data[$key]); } /** * Implementation of ArrayAccess : Get the target offset * * @param mixed $key * @return mixed|KeyNotExists */ public function offsetGet($key) { if ($this->offsetExists($key)) { return $this->_data[$key]; } return new KeyNotExists(); } /** * Implementation of ArrayAccess : Set the target offset * * @param mixed $key * @param mixed $value */ public function offsetSet($key, $value) { $this->_data[$key] = $value; } /** * Implementation of ArrayAccess : Unset the target offset * * @param mixed $key */ public function offsetUnset($key) { if ($this->offsetExists($key)) { unset($this->_data[$key]); } } /** * Implementation of Iterator : Rewind the Iterator to the first element * * @return mixed|void */ public function rewind() { return \reset($this->_data); } /** * Implementation of Iterator : Return the current element * @return mixed */ public function current() { $data = \current($this->_data); if (!\is_array($data)) { return $data; } $instance = new static(); return $instance->collect($data); } /** * Implementation of Iterator : Return the key of the current element * * @return int|mixed|null|string */ public function key() { return \key($this->_data); } /** * Implementation of Iterator : Move forward to next element * * @return mixed|void */ public function next() { return \next($this->_data); } /** * Implementation of Iterator : Checks if current position is valid * * @return bool */ public function valid() { return \key($this->_data) !== null; } /** * Deep copy current instance * * @param bool $fresh * @return QueryEngine */ public function copy($fresh = \false) { if ($fresh) { $this->fresh(['_data' => $this->_data, '_original' => $this->_original, '_traveler' => $this->_traveler]); } return deep_copy($this); } /** * Alias of from() method * * @param null $node * @return $this * @throws InvalidNodeException */ public function at($node = null) { return $this->from($node); } /** * getting prepared data * * @param array $column * @return QueryEngine * @throws ConditionNotAllowedException */ public function get($column = []) { if (!\is_array($column)) { $column = \func_get_args(); } $this->setSelect($column); $this->prepare(); return $this->makeResult($this->_data); } /** * alias of get method * * @param array $column * @return array|object * @throws ConditionNotAllowedException */ public function fetch($column = []) { if (!\is_array($column)) { $column = \func_get_args(); } return $this->get($column); } /** * check exists data from the query * * @return bool * @throws ConditionNotAllowedException */ public function exists() { $this->prepare(); return !empty($this->_data) && !\is_null($this->_data); } /** * reset given data to the $_data * * @param mixed $data * @param bool $fresh * @return QueryEngine */ public function reset($data = null, $fresh = \false) { if (\is_null($data)) { $data = deep_copy($this->_original); } if ($fresh) { $self = new static(); $self->collect($data); return $self; } $this->collect($data); return $this; } /** * getting group data from specific column * * @param string $column * @return $this * @throws ConditionNotAllowedException */ public function groupBy($column) { $this->prepare(); $data = []; foreach ($this->_data as $map) { $value = $this->arrayGet($map, $column); if ($value) { $data[$value][] = $map; } } $this->_data = $data; return $this; } /** * Group by count from array value * * @param $column * @return $this * @throws ConditionNotAllowedException */ public function countGroupBy($column) { $this->prepare(); $data = []; foreach ($this->_data as $map) { $value = $this->arrayGet($map, $column); if (!$value) { continue; } if (isset($data[$value])) { $data[$value]++; } else { $data[$value] = 1; } } $this->_data = $data; return $this; } /** * getting distinct data from specific column * * @param string $column * @return $this * @throws ConditionNotAllowedException */ public function distinct($column) { $this->prepare(); $data = []; foreach ($this->_data as $map) { $value = $this->arrayGet($map, $column); if ($value && !\array_key_exists($value, $data)) { $data[$value] = $map; } } $this->_data = \array_values($data); return $this; } /** * count prepared data * * @return int * @throws ConditionNotAllowedException */ public function count() { $this->prepare(); return \count($this->_data); } /** * size is an alias of count * * @return int * @throws ConditionNotAllowedException */ public function size() { return $this->count(); } /** * sum prepared data * @param int $column * @return number * @throws ConditionNotAllowedException */ public function sum($column = null) { $this->prepare(); $data = $this->_data; $sum = 0; if (\is_null($column)) { $sum = \array_sum($data); } else { foreach ($data as $key => $val) { $value = $this->arrayGet($val, $column); if (\is_scalar($value)) { $sum += $value; } } } return $sum; } /** * getting max value from prepared data * * @param int $column * @return number * @throws ConditionNotAllowedException */ public function max($column = null) { $this->prepare(); $data = $this->_data; if (!\is_null($column)) { $values = []; foreach ($data as $val) { $values[] = $this->arrayGet($val, $column); } $data = $values; } return \max($data); } /** * getting min value from prepared data * * @param int $column * @return number * @throws ConditionNotAllowedException */ public function min($column = null) { $this->prepare(); $data = $this->_data; if (!\is_null($column)) { $values = []; foreach ($data as $val) { $values[] = $this->arrayGet($val, $column); } $data = $values; } return \min($data); } /** * getting average value from prepared data * * @param int $column * @return number * @throws ConditionNotAllowedException */ public function avg($column = null) { $this->prepare(); $count = $this->count(); $total = $this->sum($column); return $total / $count; } /** * getting first element of prepared data * * @param array $column * @return object|array|null * @throws ConditionNotAllowedException */ public function first($column = []) { $this->prepare(); $data = $this->_data; $this->setSelect($column); if (!\is_array($data)) { return null; } if (\count($data) > 0) { $data = $this->toArray(); $this->_data = \reset($data); return $this; } return null; } /** * getting last element of prepared data * * @param array $column * @return object|array|null * @throws ConditionNotAllowedException */ public function last($column = []) { $this->prepare(); $data = $this->_data; $this->setSelect($column); if (!\is_array($data)) { return null; } if (\count($data) > 0) { return $this->makeResult(\end($data)); } return null; } /** * getting nth number of element of prepared data * * @param int $index * @param array $column * @return object|array|null * @throws ConditionNotAllowedException */ public function nth($index, $column = []) { $this->prepare(); $data = $this->_data; $this->setSelect($column); if (!\is_array($data)) { return null; } $total_elm = \count($data); $idx = \abs($index); if (!\is_integer($index) || $total_elm < $idx || $index == 0 || !\is_array($this->_data)) { return null; } if ($index > 0) { $result = $data[$index - 1]; } else { $result = $data[$this->count() + $index]; } return $this->makeResult($result); } /** * sorting from prepared data * * @param string $column * @param string $order * @return object|array|null * @throws ConditionNotAllowedException */ public function sortBy($column, $order = 'asc') { $this->prepare(); if (!\is_array($this->_data)) { return $this; } \usort($this->_data, function ($a, $b) use($column, $order) { $val1 = $this->arrayGet($a, $column); $val2 = $this->arrayGet($b, $column); if (\is_string($val1)) { $val1 = \strtolower($val1); } if (\is_string($val2)) { $val2 = \strtolower($val2); } if ($val1 == $val2) { return 0; } $order = \strtolower(\trim($order)); if ($order == 'desc') { return $val1 > $val2 ? -1 : 1; } else { return $val1 < $val2 ? -1 : 1; } }); return $this; } /** * Sort an array value * * @param string $order * @return QueryEngine */ public function sort($order = 'asc') { $this->_data = Utilities::toArray($this->_data); if ($order == 'desc') { \rsort($this->_data); } else { \sort($this->_data); } return $this->makeResult($this->_data); } /** * getting data from desire path * * @param string $path * @param array $column * @return mixed * @throws InvalidNodeException * @throws ConditionNotAllowedException */ public function find($path, $column = []) { return $this->from($path)->prepare()->get($column); } /** * Get the raw data of result * * @return mixed */ public function result() { return $this->_data; } /** * take action of each element of prepared data * * @param callable $fn * @throws ConditionNotAllowedException */ public function each(callable $fn) { $this->prepare(); foreach ($this->_data as $key => $val) { $fn($key, $val); } } /** * transform prepared data by using callable function * * @param callable $fn * @return self * @throws ConditionNotAllowedException */ public function transform(callable $fn) { $this->prepare(); $data = []; foreach ($this->_data as $key => $val) { $data[$key] = $fn($val); } return $this->makeResult($data); } /** * map prepared data by using callable function for each entity * * @param callable $fn * @return object|array * @throws ConditionNotAllowedException */ public function map(callable $fn) { $this->prepare(); $data = []; foreach ($this->_data as $key => $val) { $data[] = $fn($key, $val); } return $this->makeResult($data); } /** * filtered each element of prepared data * * @param callable $fn * @param bool $key * @return mixed|array * @throws ConditionNotAllowedException */ public function filter(callable $fn, $key = \false) { $this->prepare(); $data = []; foreach ($this->_data as $k => $val) { if ($fn($val)) { if ($key) { $data[$k] = $val; } else { $data[] = $val; } } } return $this->makeResult($data); } /** * then method set position of working data * * @param string $node * @return QueryEngine * @throws InvalidNodeException * @throws ConditionNotAllowedException */ public function then($node) { $this->prepare(); $this->from($node); return $this; } /** * implode resulting data from desire key and delimeter * * @param string|array $key * @param string $delimiter * @return self * @throws ConditionNotAllowedException */ public function implode($key, $delimiter = ',') { $this->prepare(); $implode = []; if (\is_string($key)) { $implodedData[$key] = $this->makeImplode($key, $delimiter); return $this->makeResult($implodedData); } if (\is_array($key)) { foreach ($key as $k) { $imp = $this->makeImplode($k, $delimiter); $implode[$k] = $imp; } return $this->makeResult($implode); } $implodedData[$key] = ''; return $this->makeResult($implodedData); } /** * process implode from resulting data * * @param string $key * @param string $delimiter * @return string|null * @throws \Exception */ protected function makeImplode($key, $delimiter = ',') { $data = \array_column($this->toArray(), $key); if (\is_array($data)) { return \implode($delimiter, $data); } return ''; } /** * getting specific key's value from prepared data * * @param string $column * @param string|null $index * @return self * @throws ConditionNotAllowedException */ public function column($column, $index = null) { $this->prepare(); $data = \array_column($this->_data, $column, $index); return $this->makeResult($data); } /** * getting raw JSON from prepared data * * @return string * @throws ConditionNotAllowedException */ public function toJson() { $this->prepare(); return \json_encode($this->toArray()); } /** * @return mixed * @throws ConditionNotAllowedException */ public function toArray() { $this->prepare(); $maps = $this->_data; return Utilities::toArray($maps); } /** * getting all keys from prepared data * * @return object|array * @throws ConditionNotAllowedException */ public function keys() { $this->prepare(); return $this->makeResult(\array_keys($this->_data)); } /** * getting all values from prepared data * * @return object|array * @throws ConditionNotAllowedException */ public function values() { $this->prepare(); return $this->makeResult(\array_values($this->_data)); } /** * getting chunk values from prepared data * * @param int $amount * @param callable $fn * @return object|array|bool * @throws ConditionNotAllowedException */ public function chunk($amount, callable $fn = null) { $this->prepare(); $chunk_value = \array_chunk($this->_data, $amount); $chunks = []; if (!\is_null($fn) && \is_callable($fn)) { foreach ($chunk_value as $chunk) { $return = $fn($chunk); if (!\is_null($return)) { $chunks[] = $return; } } return \count($chunks) > 0 ? $chunks : null; } return $chunk_value; } /** * Pluck is the alias of column * * @param $column * @param null $key * @return array|mixed|QueryEngine */ public function pluck($column, $key = null) { return $this->column($column, $key); } /** * Array pop from current result set * * @return array|mixed|QueryEngine */ public function pop() { $this->prepare(); $data = \array_pop($this->_data); return $this->makeResult($data); } /** * Array shift from current result set * * @return array|mixed|QueryEngine */ public function shift() { $this->prepare(); $data = \array_shift($this->_data); return $this->makeResult($data); } /** * Push the given data in current result set * * @param $data * @param null $key * @return $this */ public function push($data, $key = null) { $this->prepare(); if (\is_null($key)) { $this->_data[] = $data; } else { $this->_data[$key] = $data; } return $this; } } qarray/src/ArrayQuery.php 0000777 00000001324 15251235576 0011471 0 ustar 00 <?php namespace Rvx\Nahid\QArray; use Rvx\Nahid\QArray\QueryEngine; class ArrayQuery extends QueryEngine { /** * @var null|QueryEngine */ protected static $instance = null; public function __construct($data = []) { if (\is_array($data)) { $this->collect($data); } else { parent::__construct($data); } } public static function getInstance() { if (\is_null(static::$instance)) { static::$instance = new static(); } return static::$instance; } public function readPath($file) { return '{}'; } public function parseData($data) { return $this->collect([]); } } qarray/src/KeyNotExists.php 0000777 00000000241 15251235576 0011773 0 ustar 00 <?php namespace Rvx\Nahid\QArray; /** * This class represents a query result where a given * value was queried but did not exist. */ class KeyNotExists { } qarray/helpers/qarray.php 0000777 00000000731 15251235576 0011540 0 ustar 00 <?php namespace Rvx; use Rvx\Nahid\QArray\QueryEngine; use Rvx\Nahid\QArray\ArrayQuery; if (!\function_exists('Rvx\\convert_to_array')) { function convert_to_array($data) { return \Rvx\Nahid\QArray\Utilities::toArray($data); } } if (!\function_exists('Rvx\\qarray')) { /** * @param $data * @return \Nahid\QArray\QueryEngine */ function qarray($data = []) { return \Rvx\Nahid\QArray\Utilities::qarray($data); } } qarray/data.json 0000777 00001127016 15251235576 0007701 0 ustar 00 { "_readme": [ "This file locks the dependencies of your project to a known state", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], "content-hash": "f230e202d119622afe1dec2fcbda932a", "packages": [ { "name": "algolia/algoliasearch-client-php", "version": "2.4.0", "source": { "type": "git", "url": "https://github.com/algolia/algoliasearch-client-php.git", "reference": "602748161cecbf9d329379a9949d63e1dc683852" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/algolia/algoliasearch-client-php/zipball/602748161cecbf9d329379a9949d63e1dc683852", "reference": "602748161cecbf9d329379a9949d63e1dc683852", "shasum": "" }, "require": { "ext-curl": "*", "ext-json": "*", "ext-mbstring": "*", "php": "^5.3 || ^7.0", "psr/http-message": "^1.0", "psr/log": "^1.0", "psr/simple-cache": "^1.0" }, "require-dev": { "friendsofphp/php-cs-fixer": "^2.0", "fzaninotto/faker": "^1.8", "phpunit/phpunit": "^4.8", "symfony/yaml": "^2.0 || ^4.0" }, "suggest": { "guzzlehttp/guzzle": "If you prefer to use Guzzle HTTP client instead of the Http Client implementation provided by the package" }, "bin": [ "bin/algolia-doctor" ], "type": "library", "extra": { "branch-alias": { "dev-2.0": "2.0.x-dev" } }, "autoload": { "psr-4": { "Algolia\\AlgoliaSearch\\": "src/" }, "files": [ "src/Http/Psr7/functions.php", "src/functions.php" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Algolia Team", "email": "contact@algolia.com" } ], "description": "Algolia Search API Client for PHP", "keywords": [ "algolia", "api", "client", "php", "search" ], "time": "2019-09-11T15:21:08+00:00" }, { "name": "algolia/scout-extended", "version": "v1.8.0", "source": { "type": "git", "url": "https://github.com/algolia/scout-extended.git", "reference": "ea5cec58af8f726fe1f5848082c0a5f84ffbd3b8" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/algolia/scout-extended/zipball/ea5cec58af8f726fe1f5848082c0a5f84ffbd3b8", "reference": "ea5cec58af8f726fe1f5848082c0a5f84ffbd3b8", "shasum": "" }, "require": { "algolia/algoliasearch-client-php": "^2.0", "ext-json": "*", "illuminate/console": "5.6.*|5.7.*|5.8.*|^6.0", "illuminate/contracts": "5.6.*|5.7.*|5.8.*|^6.0", "illuminate/database": "5.6.*|5.7.*|5.8.*|^6.0", "illuminate/filesystem": "5.6.*|5.7.*|5.8.*|^6.0", "illuminate/support": "5.6.*|5.7.*|5.8.*|^6.0", "laravel/scout": "^6.1.1|^7.0", "php": "^7.1.3", "riimu/kit-phpencoder": "^2.3" }, "require-dev": { "fzaninotto/faker": "^1.8", "mockery/mockery": "^1.1", "nunomaduro/larastan": "^0.4", "orchestra/testbench": "^3.0", "phpstan/phpstan": "^0.11", "phpunit/phpunit": "^7.0|^8.0" }, "suggest": { "ext-dom": "Required to use the HTML Splitter." }, "type": "library", "extra": { "laravel": { "providers": [ "Algolia\\ScoutExtended\\ScoutExtendedServiceProvider" ] } }, "autoload": { "psr-4": { "Algolia\\ScoutExtended\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Nuno Maduro", "email": "enunomaduro@gmail.com" }, { "name": "Algolia Team", "email": "contact@algolia.com" } ], "description": "Scout Extended extends Laravel Scout adding algolia-specific features", "keywords": [ "algolia", "analytics", "extended", "laravel", "places", "scout", "search" ], "time": "2019-10-14T11:00:44+00:00" }, { "name": "almasaeed2010/adminlte", "version": "v2.3.11", "source": { "type": "git", "url": "https://github.com/ColorlibHQ/AdminLTE.git", "reference": "2be703222af2edcb87e562d3da2299e4352bff8a" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/ColorlibHQ/AdminLTE/zipball/2be703222af2edcb87e562d3da2299e4352bff8a", "reference": "2be703222af2edcb87e562d3da2299e4352bff8a", "shasum": "" }, "type": "library", "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Abdullah Almsaeed", "email": "abdullah@almsaeedstudio.com" } ], "description": "AdminLTE - admin control panel and dashboard that's based on Bootstrap 3", "homepage": "http://almsaeedstudio.com/", "keywords": [ "JS", "admin", "back-end", "css", "less", "responsive", "template", "theme", "web" ], "time": "2017-01-08T21:03:57+00:00" }, { "name": "asm89/stack-cors", "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/asm89/stack-cors.git", "reference": "c163e2b614550aedcf71165db2473d936abbced6" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/asm89/stack-cors/zipball/c163e2b614550aedcf71165db2473d936abbced6", "reference": "c163e2b614550aedcf71165db2473d936abbced6", "shasum": "" }, "require": { "php": ">=5.5.9", "symfony/http-foundation": "~2.7|~3.0|~4.0", "symfony/http-kernel": "~2.7|~3.0|~4.0" }, "require-dev": { "phpunit/phpunit": "^5.0 || ^4.8.10", "squizlabs/php_codesniffer": "^2.3" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.2-dev" } }, "autoload": { "psr-4": { "Asm89\\Stack\\": "src/Asm89/Stack/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Alexander", "email": "iam.asm89@gmail.com" } ], "description": "Cross-origin resource sharing library and stack middleware", "homepage": "https://github.com/asm89/stack-cors", "keywords": [ "cors", "stack" ], "time": "2017-12-20T14:37:45+00:00" }, { "name": "backpack/base", "version": "0.8.9", "source": { "type": "git", "url": "https://github.com/Laravel-Backpack/Base.git", "reference": "12dd0611a33bcfb229bd776922ac40f423a3ed79" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/Laravel-Backpack/Base/zipball/12dd0611a33bcfb229bd776922ac40f423a3ed79", "reference": "12dd0611a33bcfb229bd776922ac40f423a3ed79", "shasum": "" }, "require": { "almasaeed2010/adminlte": "2.3.*", "creativeorange/gravatar": "~1.0", "jenssegers/date": "^3.2", "laravel/framework": "5.5.*|5.6.*", "prologue/alerts": "^0.4.1" }, "require-dev": { "backpack/generators": "^1.1", "laracasts/generators": "^1.1", "phpunit/phpunit": "~6.0", "scrutinizer/ocular": "~1.1", "squizlabs/php_codesniffer": "~2.3" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.0-dev" }, "laravel": { "providers": [ "Backpack\\Base\\BaseServiceProvider" ] } }, "autoload": { "psr-4": { "Backpack\\Base\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "authors": [ { "name": "Cristian Tabacitu", "email": "hello@tabacitu.ro", "homepage": "http://www.tabacitu.ro", "role": "Chief Architect & Developer" } ], "description": "Laravel Backpack's base package, which offers admin authentication and a blank admin panel using AdminLTE", "homepage": "https://github.com/laravel-backpack/base", "keywords": [ "backpack", "base" ], "time": "2018-02-07T21:20:53+00:00" }, { "name": "backpack/crud", "version": "3.3.17", "source": { "type": "git", "url": "https://github.com/Laravel-Backpack/CRUD.git", "reference": "dade164f74d34943ac935f0af98c5da546a7a8c4" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/Laravel-Backpack/CRUD/zipball/dade164f74d34943ac935f0af98c5da546a7a8c4", "reference": "dade164f74d34943ac935f0af98c5da546a7a8c4", "shasum": "" }, "require": { "backpack/base": "^0.8.0", "barryvdh/laravel-elfinder": "^0.3.10", "doctrine/dbal": "^2.5", "intervention/image": "^2.3", "venturecraft/revisionable": "1.*" }, "require-dev": { "orchestra/database": "~3.4", "orchestra/testbench": "~3.0", "phpunit/phpunit": "~6.0", "scrutinizer/ocular": "~1.1" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.0-dev" }, "laravel": { "providers": [ "Backpack\\CRUD\\CrudServiceProvider" ], "aliases": { "CRUD": "Backpack\\CRUD\\CrudServiceProvider" } } }, "autoload": { "psr-4": { "Backpack\\CRUD\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Cristian Tabacitu", "email": "hello@tabacitu.ro", "homepage": "http://www.tabacitu.ro", "role": "Chief Architect & Lead Developer" } ], "description": "Quickly build an admin interface for your Eloquent models, using Laravel 5. Build a CMS in a matter of minutes.", "homepage": "https://github.com/laravel-backpack/CRUD", "keywords": [ "Admin Interface", "Content management system", "admin panel", "cms", "content management framework", "create", "crud", "delete", "read", "update" ], "time": "2018-03-21T17:06:28+00:00" }, { "name": "barryvdh/elfinder-flysystem-driver", "version": "v0.2.1", "source": { "type": "git", "url": "https://github.com/barryvdh/elfinder-flysystem-driver.git", "reference": "1f323056495fdce019b6ef1621be697f2945c609" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/barryvdh/elfinder-flysystem-driver/zipball/1f323056495fdce019b6ef1621be697f2945c609", "reference": "1f323056495fdce019b6ef1621be697f2945c609", "shasum": "" }, "require": { "intervention/image": "^2.0", "league/flysystem": "^1.0", "league/flysystem-cached-adapter": "^1.0", "php": ">=5.4", "studio-42/elfinder": "^2.1.10" }, "suggest": { "league/glide": "1.x to display images through Glide" }, "type": "library", "extra": { "branch-alias": { "dev-master": "0.2-dev" } }, "autoload": { "classmap": [ "elFinderVolumeFlysystem.php" ], "psr-4": { "Barryvdh\\elFinderFlysystemDriver\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Barry vd. Heuvel", "email": "barryvdh@gmail.com" } ], "description": "A Flysystem Driver for elFinder", "keywords": [ "Flysystem", "elfinder", "filesystem" ], "time": "2017-07-08T17:59:38+00:00" }, { "name": "barryvdh/laravel-cors", "version": "v0.11.2", "source": { "type": "git", "url": "https://github.com/barryvdh/laravel-cors.git", "reference": "7969a52f52d0d9a04b42565d25ac9994b8c83332" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/barryvdh/laravel-cors/zipball/7969a52f52d0d9a04b42565d25ac9994b8c83332", "reference": "7969a52f52d0d9a04b42565d25ac9994b8c83332", "shasum": "" }, "require": { "asm89/stack-cors": "^1.2", "illuminate/support": "5.5.x|5.6.x|5.7.x", "php": ">=7", "symfony/http-foundation": "^3.1|^4", "symfony/http-kernel": "^3.1|^4" }, "require-dev": { "laravel/framework": "^5.5", "orchestra/testbench": "3.3.x|3.4.x|3.5.x|3.6.x|3.7.x", "phpunit/phpunit": "^4.8|^5.2|^7.0", "squizlabs/php_codesniffer": "^2.3" }, "type": "library", "extra": { "branch-alias": { "dev-master": "0.11-dev" }, "laravel": { "providers": [ "Barryvdh\\Cors\\ServiceProvider" ] } }, "autoload": { "psr-4": { "Barryvdh\\Cors\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Barry vd. Heuvel", "email": "barryvdh@gmail.com" } ], "description": "Adds CORS (Cross-Origin Resource Sharing) headers support in your Laravel application", "keywords": [ "api", "cors", "crossdomain", "laravel" ], "time": "2018-09-06T13:20:53+00:00" }, { "name": "barryvdh/laravel-elfinder", "version": "v0.3.12", "source": { "type": "git", "url": "https://github.com/barryvdh/laravel-elfinder.git", "reference": "05e17d6dd41b4cc860a555c320bb108fdef09a44" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/barryvdh/laravel-elfinder/zipball/05e17d6dd41b4cc860a555c320bb108fdef09a44", "reference": "05e17d6dd41b4cc860a555c320bb108fdef09a44", "shasum": "" }, "require": { "barryvdh/elfinder-flysystem-driver": "^0.1.4|^0.2", "illuminate/support": "5.0.x|5.1.x|5.2.x|5.3.x|5.4.x|5.5.x|5.6.x", "league/flysystem": "^1.0", "league/flysystem-cached-adapter": "^1.0", "php": ">=5.4.0", "studio-42/elfinder": "~2.1.10" }, "type": "library", "extra": { "branch-alias": { "dev-master": "0.3-dev" }, "laravel": { "providers": [ "Barryvdh\\Elfinder\\ElfinderServiceProvider" ] } }, "autoload": { "psr-4": { "Barryvdh\\Elfinder\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Barry vd. Heuvel", "email": "barryvdh@gmail.com" } ], "description": "A Laravel Package to integrate elFinder 2", "keywords": [ "elfinder", "filebrowser", "laravel", "tinymce" ], "time": "2018-02-08T07:54:10+00:00" }, { "name": "brozot/laravel-fcm", "version": "1.3.1", "source": { "type": "git", "url": "https://github.com/brozot/Laravel-FCM.git", "reference": "1b5c64c5ea829f46c7e5f274971c587a8c3f0668" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/brozot/Laravel-FCM/zipball/1b5c64c5ea829f46c7e5f274971c587a8c3f0668", "reference": "1b5c64c5ea829f46c7e5f274971c587a8c3f0668", "shasum": "" }, "require": { "guzzlehttp/guzzle": "~6.0", "illuminate/support": "5.*|^6", "monolog/monolog": "^1.12|^2.0", "php": ">=5.5.9" }, "require-dev": { "laravel/laravel": "5.2.*", "mockery/mockery": "0.9.*", "phpunit/phpunit": "4.7.*", "satooshi/php-coveralls": "dev-master" }, "type": "library", "extra": { "laravel": { "providers": [ "LaravelFCM\\FCMServiceProvider" ], "aliases": { "FCM": "LaravelFCM\\Facades\\FCM", "FCMGroup": "LaravelFCM\\Facades\\FCMGroup" } } }, "autoload": { "psr-4": { "LaravelFCM\\": "src/", "LaravelFCM\\Mocks\\": "tests/mocks" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Nicolas Brosy", "email": "nicolas.brosy@gmail.com" } ], "description": "Laravel / Lumen package for Firebase Cloud Messaging ", "keywords": [ "FCM", "Firebase Cloud Messaging", "firebase", "laravel", "lumen", "notification", "push" ], "time": "2019-11-26T16:14:39+00:00" }, { "name": "cache/adapter-common", "version": "0.3.3", "source": { "type": "git", "url": "https://github.com/php-cache/adapter-common.git", "reference": "874256105aefaa52b60599ab02858a4575e61095" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/php-cache/adapter-common/zipball/874256105aefaa52b60599ab02858a4575e61095", "reference": "874256105aefaa52b60599ab02858a4575e61095", "shasum": "" }, "require": { "cache/taggable-cache": "^0.4", "php": "^5.5 || ^7.0", "psr/cache": "^1.0", "psr/log": "^1.0" }, "require-dev": { "cache/integration-tests": "^0.10", "phpunit/phpunit": "^4.0 || ^5.1" }, "type": "library", "autoload": { "psr-4": { "Cache\\Adapter\\Common\\": "" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Aaron Scherer", "email": "aequasi@gmail.com", "homepage": "https://github.com/aequasi" }, { "name": "Tobias Nyholm", "email": "tobias.nyholm@gmail.com", "homepage": "https://github.com/Nyholm" } ], "description": "Common classes for PSR-6 adapters", "homepage": "http://www.php-cache.com/en/latest/", "keywords": [ "cache", "psr-6", "tag" ], "time": "2016-07-31T18:10:41+00:00" }, { "name": "cache/filesystem-adapter", "version": "0.3.3", "source": { "type": "git", "url": "https://github.com/php-cache/filesystem-adapter.git", "reference": "b05c31ea76dbe2650817e92265952a5d8b7fb070" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/php-cache/filesystem-adapter/zipball/b05c31ea76dbe2650817e92265952a5d8b7fb070", "reference": "b05c31ea76dbe2650817e92265952a5d8b7fb070", "shasum": "" }, "require": { "cache/adapter-common": "^0.3", "cache/taggable-cache": "^0.4", "league/flysystem": "^1.0", "php": "^5.5 || ^7.0", "psr/cache": "^1.0" }, "provide": { "psr/cache-implementation": "^1.0" }, "require-dev": { "cache/integration-tests": "^0.11", "phpunit/phpunit": "^4.0 || ^5.1" }, "type": "library", "autoload": { "psr-4": { "Cache\\Adapter\\Filesystem\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Aaron Scherer", "email": "aequasi@gmail.com", "homepage": "https://github.com/aequasi" }, { "name": "Tobias Nyholm", "email": "tobias.nyholm@gmail.com", "homepage": "https://github.com/Nyholm" } ], "description": "A PSR-6 cache implementation using filesystem. This implementation supports tags", "homepage": "http://www.php-cache.com/en/latest/", "keywords": [ "cache", "filesystem", "psr-6", "tag" ], "time": "2016-12-25T09:15:25+00:00" }, { "name": "cache/hierarchical-cache", "version": "0.3.0", "source": { "type": "git", "url": "https://github.com/php-cache/hierarchical-cache.git", "reference": "783e179acc3c9d47c469513a2380219022bfa0bc" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/php-cache/hierarchical-cache/zipball/783e179acc3c9d47c469513a2380219022bfa0bc", "reference": "783e179acc3c9d47c469513a2380219022bfa0bc", "shasum": "" }, "require": { "cache/taggable-cache": "^0.4", "php": "^5.5 || ^7.0", "psr/cache": "^1.0" }, "require-dev": { "phpunit/phpunit": "^4.0 || ^5.1" }, "type": "library", "autoload": { "psr-4": { "Cache\\Hierarchy\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Aaron Scherer", "email": "aequasi@gmail.com", "homepage": "https://github.com/aequasi" }, { "name": "Tobias Nyholm", "email": "tobias.nyholm@gmail.com", "homepage": "https://github.com/Nyholm" } ], "description": "A helper trait and interface to your PSR-6 cache to support hierarchical keys.", "homepage": "http://www.php-cache.com/en/latest/", "keywords": [ "cache", "hierarchical", "psr-6", "tag" ], "time": "2016-08-07T14:49:33+00:00" }, { "name": "cache/predis-adapter", "version": "0.4.2", "source": { "type": "git", "url": "https://github.com/php-cache/predis-adapter.git", "reference": "12038202d125d50a259737863aaf2a56f8cc9ee0" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/php-cache/predis-adapter/zipball/12038202d125d50a259737863aaf2a56f8cc9ee0", "reference": "12038202d125d50a259737863aaf2a56f8cc9ee0", "shasum": "" }, "require": { "cache/adapter-common": "^0.3", "cache/hierarchical-cache": "^0.3", "cache/taggable-cache": "^0.4", "php": "^5.5 || ^7.0", "predis/predis": "^1.0", "psr/cache": "^1.0" }, "provide": { "psr/cache-implementation": "^1.0" }, "require-dev": { "cache/integration-tests": "^0.11", "phpunit/phpunit": "^4.0 || ^5.1" }, "type": "library", "autoload": { "psr-4": { "Cache\\Adapter\\Predis\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Aaron Scherer", "email": "aequasi@gmail.com", "homepage": "https://github.com/aequasi" }, { "name": "Tobias Nyholm", "email": "tobias.nyholm@gmail.com", "homepage": "https://github.com/Nyholm" } ], "description": "A PSR-6 cache implementation using Redis (Predis). This implementation supports tags", "homepage": "http://www.php-cache.com/en/latest/", "keywords": [ "cache", "predis", "psr-6", "redis", "tag" ], "time": "2016-09-28T12:11:35+00:00" }, { "name": "cache/taggable-cache", "version": "0.4.3", "source": { "type": "git", "url": "https://github.com/php-cache/taggable-cache.git", "reference": "8ae3042edd1ac9546c9eae1020dc2b438ef10742" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/php-cache/taggable-cache/zipball/8ae3042edd1ac9546c9eae1020dc2b438ef10742", "reference": "8ae3042edd1ac9546c9eae1020dc2b438ef10742", "shasum": "" }, "require": { "php": "^5.5 || ^7.0", "psr/cache": "^1.0" }, "require-dev": { "cache/integration-tests": "^0.11", "phpunit/phpunit": "^4.0 || ^5.1", "symfony/cache": "^3.1" }, "type": "library", "autoload": { "psr-4": { "Cache\\Taggable\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Aaron Scherer", "email": "aequasi@gmail.com", "homepage": "https://github.com/aequasi" }, { "name": "Tobias Nyholm", "email": "tobias.nyholm@gmail.com", "homepage": "https://github.com/Nyholm" } ], "description": "Add tag support to your PSR-6 cache implementation", "homepage": "http://www.php-cache.com/en/latest/", "keywords": [ "Taggable", "cache", "psr6", "tag" ], "time": "2016-08-08T17:20:09+00:00" }, { "name": "clue/stream-filter", "version": "v1.4.1", "source": { "type": "git", "url": "https://github.com/clue/php-stream-filter.git", "reference": "5a58cc30a8bd6a4eb8f856adf61dd3e013f53f71" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/clue/php-stream-filter/zipball/5a58cc30a8bd6a4eb8f856adf61dd3e013f53f71", "reference": "5a58cc30a8bd6a4eb8f856adf61dd3e013f53f71", "shasum": "" }, "require": { "php": ">=5.3" }, "require-dev": { "phpunit/phpunit": "^5.0 || ^4.8" }, "type": "library", "autoload": { "psr-4": { "Clue\\StreamFilter\\": "src/" }, "files": [ "src/functions_include.php" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Christian Lück", "email": "christian@lueck.tv" } ], "description": "A simple and modern approach to stream filtering in PHP", "homepage": "https://github.com/clue/php-stream-filter", "keywords": [ "bucket brigade", "callback", "filter", "php_user_filter", "stream", "stream_filter_append", "stream_filter_register" ], "time": "2019-04-09T12:31:48+00:00" }, { "name": "cocur/slugify", "version": "v3.1", "source": { "type": "git", "url": "https://github.com/cocur/slugify.git", "reference": "b2ccf7b735f4f3df3979aef2e1ebf8e19ca772f7" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/cocur/slugify/zipball/b2ccf7b735f4f3df3979aef2e1ebf8e19ca772f7", "reference": "b2ccf7b735f4f3df3979aef2e1ebf8e19ca772f7", "shasum": "" }, "require": { "ext-mbstring": "*", "php": ">=5.5.9" }, "require-dev": { "laravel/framework": "~5.1", "latte/latte": "~2.2", "league/container": "^2.2.0", "mikey179/vfsstream": "~1.6", "mockery/mockery": "~0.9", "nette/di": "~2.2", "phpunit/phpunit": "~4.8|~5.2", "pimple/pimple": "~1.1", "plumphp/plum": "~0.1", "silex/silex": "~1.3", "symfony/config": "~2.4|~3.0", "symfony/dependency-injection": "~2.4|~3.0", "symfony/http-kernel": "~2.4|~3.0", "twig/twig": "~1.26|~2.0", "zendframework/zend-modulemanager": "~2.2", "zendframework/zend-servicemanager": "~2.2", "zendframework/zend-view": "~2.2" }, "type": "library", "autoload": { "psr-4": { "Cocur\\Slugify\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Ivo Bathke", "email": "ivo.bathke@gmail.com" }, { "name": "Florian Eckerstorfer", "email": "florian@eckerstorfer.co", "homepage": "https://florian.ec" } ], "description": "Converts a string into a slug.", "keywords": [ "slug", "slugify" ], "time": "2018-01-22T09:00:48+00:00" }, { "name": "creativeorange/gravatar", "version": "v1.0.11", "source": { "type": "git", "url": "https://github.com/creativeorange/gravatar.git", "reference": "4459b68a853ffdb1c2abbf9419214df46371889b" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/creativeorange/gravatar/zipball/4459b68a853ffdb1c2abbf9419214df46371889b", "reference": "4459b68a853ffdb1c2abbf9419214df46371889b", "shasum": "" }, "require": { "illuminate/support": "5.*", "php": ">=5.4.0" }, "type": "library", "extra": { "laravel": { "providers": [ "Creativeorange\\Gravatar\\GravatarServiceProvider" ], "aliases": { "Gravatar": "Creativeorange\\Gravatar\\Facades\\Gravatar" } } }, "autoload": { "psr-4": { "Creativeorange\\Gravatar\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Jaco Tijssen", "email": "jaco@creativeorange.nl", "homepage": "https://www.creativeorange.nl", "role": "Developer" } ], "description": "Gravatar for Laravel 5.0.x through 5.5.x package for retrieving gravatar image URLs or checking the existance of an image.", "keywords": [ "avatar", "gravatar", "laravel" ], "time": "2018-03-29T22:10:58+00:00" }, { "name": "cviebrock/eloquent-sluggable", "version": "4.5.1", "source": { "type": "git", "url": "https://github.com/cviebrock/eloquent-sluggable.git", "reference": "62ea99dbdd383697433add4f90a62a96a196578b" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/cviebrock/eloquent-sluggable/zipball/62ea99dbdd383697433add4f90a62a96a196578b", "reference": "62ea99dbdd383697433add4f90a62a96a196578b", "shasum": "" }, "require": { "cocur/slugify": "^3.1", "illuminate/config": "~5.6.0", "illuminate/database": "~5.6.0", "illuminate/support": "~5.6.0", "php": "^7.0" }, "require-dev": { "codedungeon/phpunit-result-printer": "^0.19.6", "mockery/mockery": "^0.9.4", "orchestra/database": "~3.6.0", "orchestra/testbench": "~3.6.0", "phpunit/phpunit": "~7.0" }, "type": "library", "extra": { "laravel": { "providers": [ "Cviebrock\\EloquentSluggable\\ServiceProvider" ] } }, "autoload": { "psr-4": { "Cviebrock\\EloquentSluggable\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Colin Viebrock", "email": "colin@viebrock.ca" } ], "description": "Easy creation of slugs for your Eloquent models in Laravel 5.", "homepage": "https://github.com/cviebrock/eloquent-sluggable", "keywords": [ "eloquent", "eloquent-sluggable", "laravel", "lumen", "slug", "sluggable" ], "time": "2018-05-22T02:37:31+00:00" }, { "name": "deligram/bioscope", "version": "dev-master", "source": { "type": "git", "url": "https://git.deligram.com/nahid/filesystem-bioscope.git", "reference": "4f938dab7a64e82b355cf0fe5ecf33bfe0af62df" }, "require": { "league/flysystem": "^1.0.20", "nahid/apiz": "3.1.*", "php": "^7.0" }, "require-dev": { "phpunit/phpunit": "^6.0" }, "type": "library", "autoload": { "psr-4": { "Deligram\\Bioscope\\": "src" } }, "scripts": { "test": [ "vendor/bin/phpunit" ] }, "license": [ "MIT" ], "authors": [ { "name": "Nahid Bin Azhar", "email": "nahid.dns@gmail.com", "homepage": "http://nahid.im", "role": "Lead Engineer" } ], "description": "Flysystem Adapter for the Deligram", "keywords": [ "bioscope", "cdn", "deligram", "media" ], "time": "2019-11-12T10:34:34+00:00" }, { "name": "dnoegel/php-xdg-base-dir", "version": "0.1", "source": { "type": "git", "url": "https://github.com/dnoegel/php-xdg-base-dir.git", "reference": "265b8593498b997dc2d31e75b89f053b5cc9621a" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/dnoegel/php-xdg-base-dir/zipball/265b8593498b997dc2d31e75b89f053b5cc9621a", "reference": "265b8593498b997dc2d31e75b89f053b5cc9621a", "shasum": "" }, "require": { "php": ">=5.3.2" }, "require-dev": { "phpunit/phpunit": "@stable" }, "type": "project", "autoload": { "psr-4": { "XdgBaseDir\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "description": "implementation of xdg base directory specification for php", "time": "2014-10-24T07:27:01+00:00" }, { "name": "doctrine/cache", "version": "v1.8.0", "source": { "type": "git", "url": "https://github.com/doctrine/cache.git", "reference": "d768d58baee9a4862ca783840eca1b9add7a7f57" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/doctrine/cache/zipball/d768d58baee9a4862ca783840eca1b9add7a7f57", "reference": "d768d58baee9a4862ca783840eca1b9add7a7f57", "shasum": "" }, "require": { "php": "~7.1" }, "conflict": { "doctrine/common": ">2.2,<2.4" }, "require-dev": { "alcaeus/mongo-php-adapter": "^1.1", "doctrine/coding-standard": "^4.0", "mongodb/mongodb": "^1.1", "phpunit/phpunit": "^7.0", "predis/predis": "~1.0" }, "suggest": { "alcaeus/mongo-php-adapter": "Required to use legacy MongoDB driver" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.8.x-dev" } }, "autoload": { "psr-4": { "Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Roman Borschel", "email": "roman@code-factory.org" }, { "name": "Benjamin Eberlei", "email": "kontakt@beberlei.de" }, { "name": "Guilherme Blanco", "email": "guilhermeblanco@gmail.com" }, { "name": "Jonathan Wage", "email": "jonwage@gmail.com" }, { "name": "Johannes Schmitt", "email": "schmittjoh@gmail.com" } ], "description": "Caching library offering an object-oriented API for many cache backends", "homepage": "https://www.doctrine-project.org", "keywords": [ "cache", "caching" ], "time": "2018-08-21T18:01:43+00:00" }, { "name": "doctrine/dbal", "version": "v2.8.0", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", "reference": "5140a64c08b4b607b9bedaae0cedd26f04a0e621" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/doctrine/dbal/zipball/5140a64c08b4b607b9bedaae0cedd26f04a0e621", "reference": "5140a64c08b4b607b9bedaae0cedd26f04a0e621", "shasum": "" }, "require": { "doctrine/cache": "^1.0", "doctrine/event-manager": "^1.0", "ext-pdo": "*", "php": "^7.1" }, "require-dev": { "doctrine/coding-standard": "^4.0", "jetbrains/phpstorm-stubs": "^2018.1.2", "phpstan/phpstan": "^0.10.1", "phpunit/phpunit": "^7.1.2", "phpunit/phpunit-mock-objects": "!=3.2.4,!=3.2.5", "symfony/console": "^2.0.5|^3.0|^4.0", "symfony/phpunit-bridge": "^3.4.5|^4.0.5" }, "suggest": { "symfony/console": "For helpful console commands such as SQL execution and import of files." }, "bin": [ "bin/doctrine-dbal" ], "type": "library", "extra": { "branch-alias": { "dev-master": "2.8.x-dev", "dev-develop": "3.0.x-dev" } }, "autoload": { "psr-0": { "Doctrine\\DBAL\\": "lib/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Roman Borschel", "email": "roman@code-factory.org" }, { "name": "Benjamin Eberlei", "email": "kontakt@beberlei.de" }, { "name": "Guilherme Blanco", "email": "guilhermeblanco@gmail.com" }, { "name": "Jonathan Wage", "email": "jonwage@gmail.com" } ], "description": "Database Abstraction Layer", "homepage": "http://www.doctrine-project.org", "keywords": [ "database", "dbal", "persistence", "queryobject" ], "time": "2018-07-13T03:16:35+00:00" }, { "name": "doctrine/event-manager", "version": "v1.0.0", "source": { "type": "git", "url": "https://github.com/doctrine/event-manager.git", "reference": "a520bc093a0170feeb6b14e9d83f3a14452e64b3" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/doctrine/event-manager/zipball/a520bc093a0170feeb6b14e9d83f3a14452e64b3", "reference": "a520bc093a0170feeb6b14e9d83f3a14452e64b3", "shasum": "" }, "require": { "php": "^7.1" }, "conflict": { "doctrine/common": "<2.9@dev" }, "require-dev": { "doctrine/coding-standard": "^4.0", "phpunit/phpunit": "^7.0" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.0.x-dev" } }, "autoload": { "psr-4": { "Doctrine\\Common\\": "lib/Doctrine/Common" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Roman Borschel", "email": "roman@code-factory.org" }, { "name": "Benjamin Eberlei", "email": "kontakt@beberlei.de" }, { "name": "Guilherme Blanco", "email": "guilhermeblanco@gmail.com" }, { "name": "Jonathan Wage", "email": "jonwage@gmail.com" }, { "name": "Johannes Schmitt", "email": "schmittjoh@gmail.com" }, { "name": "Marco Pivetta", "email": "ocramius@gmail.com" } ], "description": "Doctrine Event Manager component", "homepage": "https://www.doctrine-project.org/projects/event-manager.html", "keywords": [ "event", "eventdispatcher", "eventmanager" ], "time": "2018-06-11T11:59:03+00:00" }, { "name": "doctrine/inflector", "version": "v1.3.0", "source": { "type": "git", "url": "https://github.com/doctrine/inflector.git", "reference": "5527a48b7313d15261292c149e55e26eae771b0a" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/doctrine/inflector/zipball/5527a48b7313d15261292c149e55e26eae771b0a", "reference": "5527a48b7313d15261292c149e55e26eae771b0a", "shasum": "" }, "require": { "php": "^7.1" }, "require-dev": { "phpunit/phpunit": "^6.2" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.3.x-dev" } }, "autoload": { "psr-4": { "Doctrine\\Common\\Inflector\\": "lib/Doctrine/Common/Inflector" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Roman Borschel", "email": "roman@code-factory.org" }, { "name": "Benjamin Eberlei", "email": "kontakt@beberlei.de" }, { "name": "Guilherme Blanco", "email": "guilhermeblanco@gmail.com" }, { "name": "Jonathan Wage", "email": "jonwage@gmail.com" }, { "name": "Johannes Schmitt", "email": "schmittjoh@gmail.com" } ], "description": "Common String Manipulations with regard to casing and singular/plural rules.", "homepage": "http://www.doctrine-project.org", "keywords": [ "inflection", "pluralize", "singularize", "string" ], "time": "2018-01-09T20:05:19+00:00" }, { "name": "doctrine/lexer", "version": "v1.0.1", "source": { "type": "git", "url": "https://github.com/doctrine/lexer.git", "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c", "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c", "shasum": "" }, "require": { "php": ">=5.3.2" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.0.x-dev" } }, "autoload": { "psr-0": { "Doctrine\\Common\\Lexer\\": "lib/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Roman Borschel", "email": "roman@code-factory.org" }, { "name": "Guilherme Blanco", "email": "guilhermeblanco@gmail.com" }, { "name": "Johannes Schmitt", "email": "schmittjoh@gmail.com" } ], "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.", "homepage": "http://www.doctrine-project.org", "keywords": [ "lexer", "parser" ], "time": "2014-09-09T13:34:57+00:00" }, { "name": "dragonmantank/cron-expression", "version": "v2.2.0", "source": { "type": "git", "url": "https://github.com/dragonmantank/cron-expression.git", "reference": "92a2c3768d50e21a1f26a53cb795ce72806266c5" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/92a2c3768d50e21a1f26a53cb795ce72806266c5", "reference": "92a2c3768d50e21a1f26a53cb795ce72806266c5", "shasum": "" }, "require": { "php": ">=7.0.0" }, "require-dev": { "phpunit/phpunit": "~6.4" }, "type": "library", "autoload": { "psr-4": { "Cron\\": "src/Cron/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Michael Dowling", "email": "mtdowling@gmail.com", "homepage": "https://github.com/mtdowling" }, { "name": "Chris Tankersley", "email": "chris@ctankersley.com", "homepage": "https://github.com/dragonmantank" } ], "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due", "keywords": [ "cron", "schedule" ], "time": "2018-06-06T03:12:17+00:00" }, { "name": "egulias/email-validator", "version": "2.1.6", "source": { "type": "git", "url": "https://github.com/egulias/EmailValidator.git", "reference": "0578b32b30b22de3e8664f797cf846fc9246f786" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/0578b32b30b22de3e8664f797cf846fc9246f786", "reference": "0578b32b30b22de3e8664f797cf846fc9246f786", "shasum": "" }, "require": { "doctrine/lexer": "^1.0.1", "php": ">= 5.5" }, "require-dev": { "dominicsayers/isemail": "dev-master", "phpunit/phpunit": "^4.8.35||^5.7||^6.0", "satooshi/php-coveralls": "^1.0.1" }, "suggest": { "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation" }, "type": "library", "extra": { "branch-alias": { "dev-master": "2.0.x-dev" } }, "autoload": { "psr-4": { "Egulias\\EmailValidator\\": "EmailValidator" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Eduardo Gulias Davis" } ], "description": "A library for validating emails against several RFCs", "homepage": "https://github.com/egulias/EmailValidator", "keywords": [ "email", "emailvalidation", "emailvalidator", "validation", "validator" ], "time": "2018-09-25T20:47:26+00:00" }, { "name": "elasticsearch/elasticsearch", "version": "v5.5.0", "source": { "type": "git", "url": "https://github.com/elastic/elasticsearch-php.git", "reference": "48b8a90e2b97b4d69ce42851c1b9e59f8054661a" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/elastic/elasticsearch-php/zipball/48b8a90e2b97b4d69ce42851c1b9e59f8054661a", "reference": "48b8a90e2b97b4d69ce42851c1b9e59f8054661a", "shasum": "" }, "require": { "guzzlehttp/ringphp": "~1.0", "php": "^5.6|^7.0", "psr/log": "~1.0" }, "require-dev": { "cpliakas/git-wrapper": "~1.0", "doctrine/inflector": "^1.1", "mockery/mockery": "0.9.4", "phpunit/phpunit": "^4.7|^5.4", "sami/sami": "~3.2", "symfony/finder": "^2.8", "symfony/yaml": "^2.8" }, "suggest": { "ext-curl": "*", "monolog/monolog": "Allows for client-level logging and tracing" }, "type": "library", "autoload": { "psr-4": { "Elasticsearch\\": "src/Elasticsearch/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "Apache-2.0" ], "authors": [ { "name": "Zachary Tong" } ], "description": "PHP Client for Elasticsearch", "keywords": [ "client", "elasticsearch", "search" ], "time": "2019-07-18T15:11:30+00:00" }, { "name": "erusev/parsedown", "version": "1.7.1", "source": { "type": "git", "url": "https://github.com/erusev/parsedown.git", "reference": "92e9c27ba0e74b8b028b111d1b6f956a15c01fc1" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/erusev/parsedown/zipball/92e9c27ba0e74b8b028b111d1b6f956a15c01fc1", "reference": "92e9c27ba0e74b8b028b111d1b6f956a15c01fc1", "shasum": "" }, "require": { "ext-mbstring": "*", "php": ">=5.3.0" }, "require-dev": { "phpunit/phpunit": "^4.8.35" }, "type": "library", "autoload": { "psr-0": { "Parsedown": "" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Emanuil Rusev", "email": "hello@erusev.com", "homepage": "http://erusev.com" } ], "description": "Parser for Markdown.", "homepage": "http://parsedown.org", "keywords": [ "markdown", "parser" ], "time": "2018-03-08T01:11:30+00:00" }, { "name": "fideloper/proxy", "version": "4.0.0", "source": { "type": "git", "url": "https://github.com/fideloper/TrustedProxy.git", "reference": "cf8a0ca4b85659b9557e206c90110a6a4dba980a" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/fideloper/TrustedProxy/zipball/cf8a0ca4b85659b9557e206c90110a6a4dba980a", "reference": "cf8a0ca4b85659b9557e206c90110a6a4dba980a", "shasum": "" }, "require": { "illuminate/contracts": "~5.0", "php": ">=5.4.0" }, "require-dev": { "illuminate/http": "~5.6", "mockery/mockery": "~1.0", "phpunit/phpunit": "^6.0" }, "type": "library", "extra": { "laravel": { "providers": [ "Fideloper\\Proxy\\TrustedProxyServiceProvider" ] } }, "autoload": { "psr-4": { "Fideloper\\Proxy\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Chris Fidao", "email": "fideloper@gmail.com" } ], "description": "Set trusted proxies for Laravel", "keywords": [ "load balancing", "proxy", "trusted proxy" ], "time": "2018-02-07T20:20:57+00:00" }, { "name": "guzzlehttp/guzzle", "version": "6.4.1", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", "reference": "0895c932405407fd3a7368b6910c09a24d26db11" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/guzzle/guzzle/zipball/0895c932405407fd3a7368b6910c09a24d26db11", "reference": "0895c932405407fd3a7368b6910c09a24d26db11", "shasum": "" }, "require": { "ext-json": "*", "guzzlehttp/promises": "^1.0", "guzzlehttp/psr7": "^1.6.1", "php": ">=5.5" }, "require-dev": { "ext-curl": "*", "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4 || ^7.0", "psr/log": "^1.1" }, "suggest": { "psr/log": "Required for using the Log middleware" }, "type": "library", "extra": { "branch-alias": { "dev-master": "6.3-dev" } }, "autoload": { "psr-4": { "GuzzleHttp\\": "src/" }, "files": [ "src/functions_include.php" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Michael Dowling", "email": "mtdowling@gmail.com", "homepage": "https://github.com/mtdowling" } ], "description": "Guzzle is a PHP HTTP client library", "homepage": "http://guzzlephp.org/", "keywords": [ "client", "curl", "framework", "http", "http client", "rest", "web service" ], "time": "2019-10-23T15:58:00+00:00" }, { "name": "guzzlehttp/promises", "version": "v1.3.1", "source": { "type": "git", "url": "https://github.com/guzzle/promises.git", "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", "shasum": "" }, "require": { "php": ">=5.5.0" }, "require-dev": { "phpunit/phpunit": "^4.0" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.4-dev" } }, "autoload": { "psr-4": { "GuzzleHttp\\Promise\\": "src/" }, "files": [ "src/functions_include.php" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Michael Dowling", "email": "mtdowling@gmail.com", "homepage": "https://github.com/mtdowling" } ], "description": "Guzzle promises library", "keywords": [ "promise" ], "time": "2016-12-20T10:07:11+00:00" }, { "name": "guzzlehttp/psr7", "version": "1.6.1", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", "reference": "239400de7a173fe9901b9ac7c06497751f00727a" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/guzzle/psr7/zipball/239400de7a173fe9901b9ac7c06497751f00727a", "reference": "239400de7a173fe9901b9ac7c06497751f00727a", "shasum": "" }, "require": { "php": ">=5.4.0", "psr/http-message": "~1.0", "ralouphie/getallheaders": "^2.0.5 || ^3.0.0" }, "provide": { "psr/http-message-implementation": "1.0" }, "require-dev": { "ext-zlib": "*", "phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.8" }, "suggest": { "zendframework/zend-httphandlerrunner": "Emit PSR-7 responses" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.6-dev" } }, "autoload": { "psr-4": { "GuzzleHttp\\Psr7\\": "src/" }, "files": [ "src/functions_include.php" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Michael Dowling", "email": "mtdowling@gmail.com", "homepage": "https://github.com/mtdowling" }, { "name": "Tobias Schultze", "homepage": "https://github.com/Tobion" } ], "description": "PSR-7 message implementation that also provides common utility methods", "keywords": [ "http", "message", "psr-7", "request", "response", "stream", "uri", "url" ], "time": "2019-07-01T23:21:34+00:00" }, { "name": "guzzlehttp/ringphp", "version": "1.1.1", "source": { "type": "git", "url": "https://github.com/guzzle/RingPHP.git", "reference": "5e2a174052995663dd68e6b5ad838afd47dd615b" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/guzzle/RingPHP/zipball/5e2a174052995663dd68e6b5ad838afd47dd615b", "reference": "5e2a174052995663dd68e6b5ad838afd47dd615b", "shasum": "" }, "require": { "guzzlehttp/streams": "~3.0", "php": ">=5.4.0", "react/promise": "~2.0" }, "require-dev": { "ext-curl": "*", "phpunit/phpunit": "~4.0" }, "suggest": { "ext-curl": "Guzzle will use specific adapters if cURL is present" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.1-dev" } }, "autoload": { "psr-4": { "GuzzleHttp\\Ring\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Michael Dowling", "email": "mtdowling@gmail.com", "homepage": "https://github.com/mtdowling" } ], "description": "Provides a simple API and specification that abstracts away the details of HTTP into a single PHP function.", "time": "2018-07-31T13:22:33+00:00" }, { "name": "guzzlehttp/streams", "version": "3.0.0", "source": { "type": "git", "url": "https://github.com/guzzle/streams.git", "reference": "47aaa48e27dae43d39fc1cea0ccf0d84ac1a2ba5" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/guzzle/streams/zipball/47aaa48e27dae43d39fc1cea0ccf0d84ac1a2ba5", "reference": "47aaa48e27dae43d39fc1cea0ccf0d84ac1a2ba5", "shasum": "" }, "require": { "php": ">=5.4.0" }, "require-dev": { "phpunit/phpunit": "~4.0" }, "type": "library", "extra": { "branch-alias": { "dev-master": "3.0-dev" } }, "autoload": { "psr-4": { "GuzzleHttp\\Stream\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Michael Dowling", "email": "mtdowling@gmail.com", "homepage": "https://github.com/mtdowling" } ], "description": "Provides a simple abstraction over streams of data", "homepage": "http://guzzlephp.org/", "keywords": [ "Guzzle", "stream" ], "time": "2014-10-12T19:18:40+00:00" }, { "name": "http-interop/http-factory-guzzle", "version": "1.0.0", "source": { "type": "git", "url": "https://github.com/http-interop/http-factory-guzzle.git", "reference": "34861658efb9899a6618cef03de46e2a52c80fc0" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/http-interop/http-factory-guzzle/zipball/34861658efb9899a6618cef03de46e2a52c80fc0", "reference": "34861658efb9899a6618cef03de46e2a52c80fc0", "shasum": "" }, "require": { "guzzlehttp/psr7": "^1.4.2", "psr/http-factory": "^1.0" }, "provide": { "psr/http-factory-implementation": "^1.0" }, "require-dev": { "http-interop/http-factory-tests": "^0.5", "phpunit/phpunit": "^6.5" }, "type": "library", "autoload": { "psr-4": { "Http\\Factory\\Guzzle\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "PHP-FIG", "homepage": "http://www.php-fig.org/" } ], "description": "An HTTP Factory using Guzzle PSR7", "keywords": [ "factory", "http", "psr-17", "psr-7" ], "time": "2018-07-31T19:32:56+00:00" }, { "name": "intervention/image", "version": "2.4.2", "source": { "type": "git", "url": "https://github.com/Intervention/image.git", "reference": "e82d274f786e3d4b866a59b173f42e716f0783eb" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/Intervention/image/zipball/e82d274f786e3d4b866a59b173f42e716f0783eb", "reference": "e82d274f786e3d4b866a59b173f42e716f0783eb", "shasum": "" }, "require": { "ext-fileinfo": "*", "guzzlehttp/psr7": "~1.1", "php": ">=5.4.0" }, "require-dev": { "mockery/mockery": "~0.9.2", "phpunit/phpunit": "^4.8 || ^5.7" }, "suggest": { "ext-gd": "to use GD library based image processing.", "ext-imagick": "to use Imagick based image processing.", "intervention/imagecache": "Caching extension for the Intervention Image library" }, "type": "library", "extra": { "branch-alias": { "dev-master": "2.4-dev" }, "laravel": { "providers": [ "Intervention\\Image\\ImageServiceProvider" ], "aliases": { "Image": "Intervention\\Image\\Facades\\Image" } } }, "autoload": { "psr-4": { "Intervention\\Image\\": "src/Intervention/Image" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Oliver Vogel", "email": "oliver@olivervogel.com", "homepage": "http://olivervogel.com/" } ], "description": "Image handling and manipulation library with support for Laravel integration", "homepage": "http://image.intervention.io/", "keywords": [ "gd", "image", "imagick", "laravel", "thumbnail", "watermark" ], "time": "2018-05-29T14:19:03+00:00" }, { "name": "jakub-onderka/php-console-color", "version": "v0.2", "source": { "type": "git", "url": "https://github.com/JakubOnderka/PHP-Console-Color.git", "reference": "d5deaecff52a0d61ccb613bb3804088da0307191" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/JakubOnderka/PHP-Console-Color/zipball/d5deaecff52a0d61ccb613bb3804088da0307191", "reference": "d5deaecff52a0d61ccb613bb3804088da0307191", "shasum": "" }, "require": { "php": ">=5.4.0" }, "require-dev": { "jakub-onderka/php-code-style": "1.0", "jakub-onderka/php-parallel-lint": "1.0", "jakub-onderka/php-var-dump-check": "0.*", "phpunit/phpunit": "~4.3", "squizlabs/php_codesniffer": "1.*" }, "type": "library", "autoload": { "psr-4": { "JakubOnderka\\PhpConsoleColor\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-2-Clause" ], "authors": [ { "name": "Jakub Onderka", "email": "jakub.onderka@gmail.com" } ], "time": "2018-09-29T17:23:10+00:00" }, { "name": "jakub-onderka/php-console-highlighter", "version": "v0.4", "source": { "type": "git", "url": "https://github.com/JakubOnderka/PHP-Console-Highlighter.git", "reference": "9f7a229a69d52506914b4bc61bfdb199d90c5547" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/JakubOnderka/PHP-Console-Highlighter/zipball/9f7a229a69d52506914b4bc61bfdb199d90c5547", "reference": "9f7a229a69d52506914b4bc61bfdb199d90c5547", "shasum": "" }, "require": { "ext-tokenizer": "*", "jakub-onderka/php-console-color": "~0.2", "php": ">=5.4.0" }, "require-dev": { "jakub-onderka/php-code-style": "~1.0", "jakub-onderka/php-parallel-lint": "~1.0", "jakub-onderka/php-var-dump-check": "~0.1", "phpunit/phpunit": "~4.0", "squizlabs/php_codesniffer": "~1.5" }, "type": "library", "autoload": { "psr-4": { "JakubOnderka\\PhpConsoleHighlighter\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Jakub Onderka", "email": "acci@acci.cz", "homepage": "http://www.acci.cz/" } ], "description": "Highlight PHP code in terminal", "time": "2018-09-29T18:48:56+00:00" }, { "name": "jdorn/sql-formatter", "version": "v1.2.17", "source": { "type": "git", "url": "https://github.com/jdorn/sql-formatter.git", "reference": "64990d96e0959dff8e059dfcdc1af130728d92bc" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/jdorn/sql-formatter/zipball/64990d96e0959dff8e059dfcdc1af130728d92bc", "reference": "64990d96e0959dff8e059dfcdc1af130728d92bc", "shasum": "" }, "require": { "php": ">=5.2.4" }, "require-dev": { "phpunit/phpunit": "3.7.*" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.3.x-dev" } }, "autoload": { "classmap": [ "lib" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Jeremy Dorn", "email": "jeremy@jeremydorn.com", "homepage": "http://jeremydorn.com/" } ], "description": "a PHP SQL highlighting library", "homepage": "https://github.com/jdorn/sql-formatter/", "keywords": [ "highlight", "sql" ], "time": "2014-01-12T16:20:24+00:00" }, { "name": "jean85/pretty-package-versions", "version": "1.2", "source": { "type": "git", "url": "https://github.com/Jean85/pretty-package-versions.git", "reference": "75c7effcf3f77501d0e0caa75111aff4daa0dd48" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/75c7effcf3f77501d0e0caa75111aff4daa0dd48", "reference": "75c7effcf3f77501d0e0caa75111aff4daa0dd48", "shasum": "" }, "require": { "ocramius/package-versions": "^1.2.0", "php": "^7.0" }, "require-dev": { "phpunit/phpunit": "^6.0" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.x-dev" } }, "autoload": { "psr-4": { "Jean85\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Alessandro Lai", "email": "alessandro.lai85@gmail.com" } ], "description": "A wrapper for ocramius/package-versions to get pretty versions strings", "keywords": [ "composer", "package", "release", "versions" ], "time": "2018-06-13T13:22:40+00:00" }, { "name": "jenssegers/date", "version": "v3.4.0", "source": { "type": "git", "url": "https://github.com/jenssegers/date.git", "reference": "3f5f94f28bd5108fab011869434209101d4189ae" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/jenssegers/date/zipball/3f5f94f28bd5108fab011869434209101d4189ae", "reference": "3f5f94f28bd5108fab011869434209101d4189ae", "shasum": "" }, "require": { "nesbot/carbon": "^1.0", "php": ">=5.6", "symfony/translation": "^2.7|^3.0|^4.0" }, "require-dev": { "phpunit/phpunit": "^5.0|^6.0|^7.0", "satooshi/php-coveralls": "^2.0" }, "type": "library", "extra": { "branch-alias": { "dev-master": "3.1-dev" }, "laravel": { "providers": [ "Jenssegers\\Date\\DateServiceProvider" ], "aliases": { "Date": "Jenssegers\\Date\\Date" } } }, "autoload": { "psr-4": { "Jenssegers\\Date\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Jens Segers", "homepage": "https://jenssegers.com" } ], "description": "A date library to help you work with dates in different languages", "homepage": "https://github.com/jenssegers/date", "keywords": [ "carbon", "date", "datetime", "i18n", "laravel", "time", "translation" ], "time": "2018-05-16T11:53:55+00:00" }, { "name": "jeremeamia/SuperClosure", "version": "2.4.0", "source": { "type": "git", "url": "https://github.com/jeremeamia/super_closure.git", "reference": "5707d5821b30b9a07acfb4d76949784aaa0e9ce9" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/jeremeamia/super_closure/zipball/5707d5821b30b9a07acfb4d76949784aaa0e9ce9", "reference": "5707d5821b30b9a07acfb4d76949784aaa0e9ce9", "shasum": "" }, "require": { "nikic/php-parser": "^1.2|^2.0|^3.0|^4.0", "php": ">=5.4", "symfony/polyfill-php56": "^1.0" }, "require-dev": { "phpunit/phpunit": "^4.0|^5.0" }, "type": "library", "extra": { "branch-alias": { "dev-master": "2.4-dev" } }, "autoload": { "psr-4": { "SuperClosure\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Jeremy Lindblom", "email": "jeremeamia@gmail.com", "homepage": "https://github.com/jeremeamia", "role": "Developer" } ], "description": "Serialize Closure objects, including their context and binding", "homepage": "https://github.com/jeremeamia/super_closure", "keywords": [ "closure", "function", "lambda", "parser", "serializable", "serialize", "tokenizer" ], "time": "2018-03-21T22:21:57+00:00" }, { "name": "kalnoy/nestedset", "version": "v4.3.3", "source": { "type": "git", "url": "https://github.com/lazychaser/laravel-nestedset.git", "reference": "8f2882b8e402cce1204233541ea8ff51513f9e71" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/lazychaser/laravel-nestedset/zipball/8f2882b8e402cce1204233541ea8ff51513f9e71", "reference": "8f2882b8e402cce1204233541ea8ff51513f9e71", "shasum": "" }, "require": { "illuminate/database": "5.2 - 5.7", "illuminate/events": "5.2 - 5.7", "illuminate/support": "5.2 - 5.7", "php": ">=5.5.9" }, "require-dev": { "phpunit/phpunit": "4.8.*" }, "type": "library", "extra": { "branch-alias": { "dev-master": "v4.2.x-dev" }, "laravel": { "providers": [ "Kalnoy\\Nestedset\\NestedSetServiceProvider" ] } }, "autoload": { "psr-4": { "Kalnoy\\Nestedset\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Alexander Kalnoy", "email": "lazychaser@gmail.com" } ], "description": "Nested Set Model for Laravel 4-5", "keywords": [ "database", "hierarchy", "laravel", "nested sets", "nsm" ], "time": "2018-09-04T15:11:11+00:00" }, { "name": "laravel/framework", "version": "v5.6.39", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", "reference": "37bb306f516669ab4f888c16003f694313ab299e" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/laravel/framework/zipball/37bb306f516669ab4f888c16003f694313ab299e", "reference": "37bb306f516669ab4f888c16003f694313ab299e", "shasum": "" }, "require": { "doctrine/inflector": "~1.1", "dragonmantank/cron-expression": "~2.0", "erusev/parsedown": "~1.7", "ext-mbstring": "*", "ext-openssl": "*", "league/flysystem": "^1.0.8", "monolog/monolog": "~1.12", "nesbot/carbon": "1.25.*", "php": "^7.1.3", "psr/container": "~1.0", "psr/simple-cache": "^1.0", "ramsey/uuid": "^3.7", "swiftmailer/swiftmailer": "~6.0", "symfony/console": "~4.0", "symfony/debug": "~4.0", "symfony/finder": "~4.0", "symfony/http-foundation": "~4.0", "symfony/http-kernel": "~4.0", "symfony/process": "~4.0", "symfony/routing": "~4.0", "symfony/var-dumper": "~4.0", "tijsverkoyen/css-to-inline-styles": "^2.2.1", "vlucas/phpdotenv": "~2.2" }, "conflict": { "tightenco/collect": "<5.5.33" }, "replace": { "illuminate/auth": "self.version", "illuminate/broadcasting": "self.version", "illuminate/bus": "self.version", "illuminate/cache": "self.version", "illuminate/config": "self.version", "illuminate/console": "self.version", "illuminate/container": "self.version", "illuminate/contracts": "self.version", "illuminate/cookie": "self.version", "illuminate/database": "self.version", "illuminate/encryption": "self.version", "illuminate/events": "self.version", "illuminate/filesystem": "self.version", "illuminate/hashing": "self.version", "illuminate/http": "self.version", "illuminate/log": "self.version", "illuminate/mail": "self.version", "illuminate/notifications": "self.version", "illuminate/pagination": "self.version", "illuminate/pipeline": "self.version", "illuminate/queue": "self.version", "illuminate/redis": "self.version", "illuminate/routing": "self.version", "illuminate/session": "self.version", "illuminate/support": "self.version", "illuminate/translation": "self.version", "illuminate/validation": "self.version", "illuminate/view": "self.version" }, "require-dev": { "aws/aws-sdk-php": "~3.0", "doctrine/dbal": "~2.6", "filp/whoops": "^2.1.4", "league/flysystem-cached-adapter": "~1.0", "mockery/mockery": "~1.0", "moontoast/math": "^1.1", "orchestra/testbench-core": "3.6.*", "pda/pheanstalk": "~3.0", "phpunit/phpunit": "~7.0", "predis/predis": "^1.1.1", "symfony/css-selector": "~4.0", "symfony/dom-crawler": "~4.0" }, "suggest": { "aws/aws-sdk-php": "Required to use the SQS queue driver and SES mail driver (~3.0).", "doctrine/dbal": "Required to rename columns and drop SQLite columns (~2.6).", "ext-pcntl": "Required to use all features of the queue worker.", "ext-posix": "Required to use all features of the queue worker.", "fzaninotto/faker": "Required to use the eloquent factory builder (~1.4).", "guzzlehttp/guzzle": "Required to use the Mailgun and Mandrill mail drivers and the ping methods on schedules (~6.0).", "laravel/tinker": "Required to use the tinker console command (~1.0).", "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (~1.0).", "league/flysystem-cached-adapter": "Required to use the Flysystem cache (~1.0).", "league/flysystem-rackspace": "Required to use the Flysystem Rackspace driver (~1.0).", "league/flysystem-sftp": "Required to use the Flysystem SFTP driver (~1.0).", "nexmo/client": "Required to use the Nexmo transport (~1.0).", "pda/pheanstalk": "Required to use the beanstalk queue driver (~3.0).", "predis/predis": "Required to use the redis cache and queue drivers (~1.0).", "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (~3.0).", "symfony/css-selector": "Required to use some of the crawler integration testing tools (~4.0).", "symfony/dom-crawler": "Required to use most of the crawler integration testing tools (~4.0).", "symfony/psr-http-message-bridge": "Required to psr7 bridging features (~1.0)." }, "type": "library", "extra": { "branch-alias": { "dev-master": "5.6-dev" } }, "autoload": { "files": [ "src/Illuminate/Foundation/helpers.php", "src/Illuminate/Support/helpers.php" ], "psr-4": { "Illuminate\\": "src/Illuminate/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Taylor Otwell", "email": "taylor@laravel.com" } ], "description": "The Laravel Framework.", "homepage": "https://laravel.com", "keywords": [ "framework", "laravel" ], "time": "2018-10-04T14:50:41+00:00" }, { "name": "laravel/scout", "version": "v7.2.1", "source": { "type": "git", "url": "https://github.com/laravel/scout.git", "reference": "733f334cc2487c6ac85a557ae5eefd29f6bb1ba3" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/laravel/scout/zipball/733f334cc2487c6ac85a557ae5eefd29f6bb1ba3", "reference": "733f334cc2487c6ac85a557ae5eefd29f6bb1ba3", "shasum": "" }, "require": { "illuminate/bus": "~5.4.0|~5.5.0|~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0", "illuminate/contracts": "~5.4.0|~5.5.0|~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0", "illuminate/database": "~5.4.0|~5.5.0|~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0", "illuminate/pagination": "~5.4.0|~5.5.0|~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0", "illuminate/queue": "~5.4.0|~5.5.0|~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0", "illuminate/support": "~5.4.0|~5.5.0|~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0", "php": "^7.1.3" }, "require-dev": { "algolia/algoliasearch-client-php": "^2.2", "mockery/mockery": "^1.0", "phpunit/phpunit": "^6.0|^7.0|^8.0" }, "suggest": { "algolia/algoliasearch-client-php": "Required to use the Algolia engine (^2.2)." }, "type": "library", "extra": { "branch-alias": { "dev-master": "7.0-dev" }, "laravel": { "providers": [ "Laravel\\Scout\\ScoutServiceProvider" ] } }, "autoload": { "psr-4": { "Laravel\\Scout\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Taylor Otwell", "email": "taylor@laravel.com" } ], "description": "Laravel Scout provides a driver based solution to searching your Eloquent models.", "keywords": [ "algolia", "laravel", "search" ], "time": "2019-09-24T21:06:28+00:00" }, { "name": "laravel/socialite", "version": "v3.3.0", "source": { "type": "git", "url": "https://github.com/laravel/socialite.git", "reference": "79316f36641f1916a50ab14d368acdf1d97e46de" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/laravel/socialite/zipball/79316f36641f1916a50ab14d368acdf1d97e46de", "reference": "79316f36641f1916a50ab14d368acdf1d97e46de", "shasum": "" }, "require": { "guzzlehttp/guzzle": "~6.0", "illuminate/contracts": "~5.4", "illuminate/http": "~5.4", "illuminate/support": "~5.4", "league/oauth1-client": "~1.0", "php": ">=5.6.4" }, "require-dev": { "mockery/mockery": "~0.9", "phpunit/phpunit": "~4.0|~5.0" }, "type": "library", "extra": { "branch-alias": { "dev-master": "3.0-dev" }, "laravel": { "providers": [ "Laravel\\Socialite\\SocialiteServiceProvider" ], "aliases": { "Socialite": "Laravel\\Socialite\\Facades\\Socialite" } } }, "autoload": { "psr-4": { "Laravel\\Socialite\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Taylor Otwell", "email": "taylor@laravel.com" } ], "description": "Laravel wrapper around OAuth 1 & OAuth 2 libraries.", "homepage": "https://laravel.com", "keywords": [ "laravel", "oauth" ], "time": "2018-12-21T14:06:32+00:00" }, { "name": "laravel/tinker", "version": "v1.0.8", "source": { "type": "git", "url": "https://github.com/laravel/tinker.git", "reference": "cafbf598a90acde68985660e79b2b03c5609a405" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/laravel/tinker/zipball/cafbf598a90acde68985660e79b2b03c5609a405", "reference": "cafbf598a90acde68985660e79b2b03c5609a405", "shasum": "" }, "require": { "illuminate/console": "~5.1", "illuminate/contracts": "~5.1", "illuminate/support": "~5.1", "php": ">=5.5.9", "psy/psysh": "0.7.*|0.8.*|0.9.*", "symfony/var-dumper": "~3.0|~4.0" }, "require-dev": { "phpunit/phpunit": "~4.0|~5.0" }, "suggest": { "illuminate/database": "The Illuminate Database package (~5.1)." }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.0-dev" }, "laravel": { "providers": [ "Laravel\\Tinker\\TinkerServiceProvider" ] } }, "autoload": { "psr-4": { "Laravel\\Tinker\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Taylor Otwell", "email": "taylor@laravel.com" } ], "description": "Powerful REPL for the Laravel framework.", "keywords": [ "REPL", "Tinker", "laravel", "psysh" ], "time": "2018-10-12T19:39:35+00:00" }, { "name": "lcobucci/jwt", "version": "3.2.5", "source": { "type": "git", "url": "https://github.com/lcobucci/jwt.git", "reference": "82be04b4753f8b7693b62852b7eab30f97524f9b" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/lcobucci/jwt/zipball/82be04b4753f8b7693b62852b7eab30f97524f9b", "reference": "82be04b4753f8b7693b62852b7eab30f97524f9b", "shasum": "" }, "require": { "ext-openssl": "*", "php": ">=5.5" }, "require-dev": { "mdanter/ecc": "~0.3.1", "mikey179/vfsstream": "~1.5", "phpmd/phpmd": "~2.2", "phpunit/php-invoker": "~1.1", "phpunit/phpunit": "~4.5", "squizlabs/php_codesniffer": "~2.3" }, "suggest": { "mdanter/ecc": "Required to use Elliptic Curves based algorithms." }, "type": "library", "extra": { "branch-alias": { "dev-master": "3.1-dev" } }, "autoload": { "psr-4": { "Lcobucci\\JWT\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Luís Otávio Cobucci Oblonczyk", "email": "lcobucci@gmail.com", "role": "Developer" } ], "description": "A simple library to work with JSON Web Token and JSON Web Signature", "keywords": [ "JWS", "jwt" ], "time": "2018-11-11T12:22:26+00:00" }, { "name": "league/flysystem", "version": "1.0.50", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", "reference": "dab4e7624efa543a943be978008f439c333f2249" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/dab4e7624efa543a943be978008f439c333f2249", "reference": "dab4e7624efa543a943be978008f439c333f2249", "shasum": "" }, "require": { "ext-fileinfo": "*", "php": ">=5.5.9" }, "conflict": { "league/flysystem-sftp": "<1.0.6" }, "require-dev": { "phpspec/phpspec": "^3.4", "phpunit/phpunit": "^5.7.10" }, "suggest": { "ext-fileinfo": "Required for MimeType", "ext-ftp": "Allows you to use FTP server storage", "ext-openssl": "Allows you to use FTPS server storage", "league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2", "league/flysystem-aws-s3-v3": "Allows you to use S3 storage with AWS SDK v3", "league/flysystem-azure": "Allows you to use Windows Azure Blob storage", "league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching", "league/flysystem-eventable-filesystem": "Allows you to use EventableFilesystem", "league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files", "league/flysystem-sftp": "Allows you to use SFTP server storage via phpseclib", "league/flysystem-webdav": "Allows you to use WebDAV storage", "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter", "spatie/flysystem-dropbox": "Allows you to use Dropbox storage", "srmklive/flysystem-dropbox-v2": "Allows you to use Dropbox storage for PHP 5 applications" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.1-dev" } }, "autoload": { "psr-4": { "League\\Flysystem\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Frank de Jonge", "email": "info@frenky.net" } ], "description": "Filesystem abstraction: Many filesystems, one API.", "keywords": [ "Cloud Files", "WebDAV", "abstraction", "aws", "cloud", "copy.com", "dropbox", "file systems", "files", "filesystem", "filesystems", "ftp", "rackspace", "remote", "s3", "sftp", "storage" ], "time": "2019-02-01T08:50:36+00:00" }, { "name": "league/flysystem-cached-adapter", "version": "1.0.9", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem-cached-adapter.git", "reference": "08ef74e9be88100807a3b92cc9048a312bf01d6f" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/thephpleague/flysystem-cached-adapter/zipball/08ef74e9be88100807a3b92cc9048a312bf01d6f", "reference": "08ef74e9be88100807a3b92cc9048a312bf01d6f", "shasum": "" }, "require": { "league/flysystem": "~1.0", "psr/cache": "^1.0.0" }, "require-dev": { "mockery/mockery": "~0.9", "phpspec/phpspec": "^3.4", "phpunit/phpunit": "^5.7", "predis/predis": "~1.0", "tedivm/stash": "~0.12" }, "suggest": { "ext-phpredis": "Pure C implemented extension for PHP" }, "type": "library", "autoload": { "psr-4": { "League\\Flysystem\\Cached\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "frankdejonge", "email": "info@frenky.net" } ], "description": "An adapter decorator to enable meta-data caching.", "time": "2018-07-09T20:51:04+00:00" }, { "name": "league/glide", "version": "1.3.0", "source": { "type": "git", "url": "https://github.com/thephpleague/glide.git", "reference": "bd29f65c9666abd72e66916e0573801e435ca878" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/thephpleague/glide/zipball/bd29f65c9666abd72e66916e0573801e435ca878", "reference": "bd29f65c9666abd72e66916e0573801e435ca878", "shasum": "" }, "require": { "intervention/image": "^2.1", "league/flysystem": "^1.0", "php": "^5.4 | ^7.0", "psr/http-message": "^1.0" }, "require-dev": { "mockery/mockery": "~0.9", "phpunit/php-token-stream": "^1.4", "phpunit/phpunit": "~4.4" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.1-dev" } }, "autoload": { "psr-4": { "League\\Glide\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Jonathan Reinink", "email": "jonathan@reinink.ca", "homepage": "http://reinink.ca" } ], "description": "Wonderfully easy on-demand image manipulation library with an HTTP based API.", "homepage": "http://glide.thephpleague.com", "keywords": [ "ImageMagick", "editing", "gd", "image", "imagick", "league", "manipulation", "processing" ], "time": "2018-02-12T23:28:25+00:00" }, { "name": "league/oauth1-client", "version": "1.7.0", "source": { "type": "git", "url": "https://github.com/thephpleague/oauth1-client.git", "reference": "fca5f160650cb74d23fc11aa570dd61f86dcf647" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/thephpleague/oauth1-client/zipball/fca5f160650cb74d23fc11aa570dd61f86dcf647", "reference": "fca5f160650cb74d23fc11aa570dd61f86dcf647", "shasum": "" }, "require": { "guzzlehttp/guzzle": "^6.0", "php": ">=5.5.0" }, "require-dev": { "mockery/mockery": "^0.9", "phpunit/phpunit": "^4.0", "squizlabs/php_codesniffer": "^2.0" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.0-dev" } }, "autoload": { "psr-4": { "League\\OAuth1\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Ben Corlett", "email": "bencorlett@me.com", "homepage": "http://www.webcomm.com.au", "role": "Developer" } ], "description": "OAuth 1.0 Client Library", "keywords": [ "Authentication", "SSO", "authorization", "bitbucket", "identity", "idp", "oauth", "oauth1", "single sign on", "trello", "tumblr", "twitter" ], "time": "2016-08-17T00:36:58+00:00" }, { "name": "maatwebsite/excel", "version": "2.1.30", "source": { "type": "git", "url": "https://github.com/Maatwebsite/Laravel-Excel.git", "reference": "f5540c4ba3ac50cebd98b09ca42e61f926ef299f" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/Maatwebsite/Laravel-Excel/zipball/f5540c4ba3ac50cebd98b09ca42e61f926ef299f", "reference": "f5540c4ba3ac50cebd98b09ca42e61f926ef299f", "shasum": "" }, "require": { "illuminate/cache": "^5.0", "illuminate/config": "^5.0", "illuminate/filesystem": "^5.0", "illuminate/support": "^5.0", "jeremeamia/superclosure": "^2.3", "nesbot/carbon": "~1.0", "php": ">=5.5", "phpoffice/phpexcel": "^1.8.1", "tijsverkoyen/css-to-inline-styles": "~2.0" }, "require-dev": { "mockery/mockery": "~1.0", "orchestra/testbench": "3.1.*|3.2.*|3.3.*|3.4.*|3.5.*|3.6.*", "phpseclib/phpseclib": "~1.0", "phpunit/phpunit": "~4.0" }, "suggest": { "illuminate/http": "^5.0", "illuminate/queue": "^5.0", "illuminate/routing": "^5.0", "illuminate/view": "^5.0" }, "type": "library", "extra": { "laravel": { "providers": [ "Maatwebsite\\Excel\\ExcelServiceProvider" ], "aliases": { "Excel": "Maatwebsite\\Excel\\Facades\\Excel" } } }, "autoload": { "classmap": [ "src/Maatwebsite/Excel" ], "psr-0": { "Maatwebsite\\Excel\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Maatwebsite.nl", "email": "patrick@maatwebsite.nl" } ], "description": "Supercharged Excel exports in Laravel", "keywords": [ "PHPExcel", "batch", "csv", "excel", "export", "import", "laravel" ], "time": "2018-09-04T19:00:09+00:00" }, { "name": "maennchen/zipstream-php", "version": "v0.5.2", "source": { "type": "git", "url": "https://github.com/maennchen/ZipStream-PHP.git", "reference": "95922b6324955974675fd4923f987faa598408af" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/maennchen/ZipStream-PHP/zipball/95922b6324955974675fd4923f987faa598408af", "reference": "95922b6324955974675fd4923f987faa598408af", "shasum": "" }, "require": { "ext-mbstring": "*", "php": ">= 7.0" }, "require-dev": { "phpunit/phpunit": "^6.3" }, "type": "library", "autoload": { "psr-4": { "ZipStream\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Paul Duncan", "email": "pabs@pablotron.org" }, { "name": "Jesse Donat", "email": "donatj@gmail.com" }, { "name": "Jonatan Männchen", "email": "jonatan@maennchen.ch" } ], "description": "ZipStream is a library for dynamically streaming dynamic zip files from PHP without writing to the disk at all on the server.", "keywords": [ "stream", "zip" ], "time": "2018-02-09T09:26:57+00:00" }, { "name": "milon/barcode", "version": "5.3.6", "source": { "type": "git", "url": "https://github.com/milon/barcode.git", "reference": "ca2f3efbf46142ff7f7afe3b0f3660ea4a067576" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/milon/barcode/zipball/ca2f3efbf46142ff7f7afe3b0f3660ea4a067576", "reference": "ca2f3efbf46142ff7f7afe3b0f3660ea4a067576", "shasum": "" }, "require": { "illuminate/support": "5.*", "php": ">=5.6.0" }, "type": "library", "autoload": { "psr-0": { "Milon\\Barcode": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "LGPL-3.0" ], "authors": [ { "name": "Nuruzzaman Milon", "email": "contact@milon.im" } ], "description": "Barcode generator like Qr Code , PDF417,C39, C39+,C39E,C39E+,C93,S25,S25+,I25,I25+,C128,C128A,C128B,C128C,2-Digits UPC-Based Extention,5-Digits UPC-Based Extention,EAN 8,EAN 13,UPC-A,UPC-E,MSI (Variation of Plessey code) ", "keywords": [ "CODABAR", "CODE 128", "CODE 39", "barcode", "datamatrix", "ean", "laravel", "pdf417", "qr code", "qrcode" ], "time": "2017-07-28T00:33:38+00:00" }, { "name": "monolog/monolog", "version": "1.24.0", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", "reference": "bfc9ebb28f97e7a24c45bdc3f0ff482e47bb0266" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/Seldaek/monolog/zipball/bfc9ebb28f97e7a24c45bdc3f0ff482e47bb0266", "reference": "bfc9ebb28f97e7a24c45bdc3f0ff482e47bb0266", "shasum": "" }, "require": { "php": ">=5.3.0", "psr/log": "~1.0" }, "provide": { "psr/log-implementation": "1.0.0" }, "require-dev": { "aws/aws-sdk-php": "^2.4.9 || ^3.0", "doctrine/couchdb": "~1.0@dev", "graylog2/gelf-php": "~1.0", "jakub-onderka/php-parallel-lint": "0.9", "php-amqplib/php-amqplib": "~2.4", "php-console/php-console": "^3.1.3", "phpunit/phpunit": "~4.5", "phpunit/phpunit-mock-objects": "2.3.0", "ruflin/elastica": ">=0.90 <3.0", "sentry/sentry": "^0.13", "swiftmailer/swiftmailer": "^5.3|^6.0" }, "suggest": { "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", "doctrine/couchdb": "Allow sending log messages to a CouchDB server", "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", "ext-mongo": "Allow sending log messages to a MongoDB server", "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", "php-console/php-console": "Allow sending log messages to Google Chrome", "rollbar/rollbar": "Allow sending log messages to Rollbar", "ruflin/elastica": "Allow sending log messages to an Elastic Search server", "sentry/sentry": "Allow sending log messages to a Sentry server" }, "type": "library", "extra": { "branch-alias": { "dev-master": "2.0.x-dev" } }, "autoload": { "psr-4": { "Monolog\\": "src/Monolog" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Jordi Boggiano", "email": "j.boggiano@seld.be", "homepage": "http://seld.be" } ], "description": "Sends your logs to files, sockets, inboxes, databases and various web services", "homepage": "http://github.com/Seldaek/monolog", "keywords": [ "log", "logging", "psr-3" ], "time": "2018-11-05T09:00:11+00:00" }, { "name": "mpdf/mpdf", "version": "v7.1.6", "source": { "type": "git", "url": "https://github.com/mpdf/mpdf.git", "reference": "ef5d8cf2c63def40fb76fc0a9e286721cb4dffcd" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/mpdf/mpdf/zipball/ef5d8cf2c63def40fb76fc0a9e286721cb4dffcd", "reference": "ef5d8cf2c63def40fb76fc0a9e286721cb4dffcd", "shasum": "" }, "require": { "ext-gd": "*", "ext-mbstring": "*", "myclabs/deep-copy": "^1.7", "paragonie/random_compat": "^1.4|^2.0|9.99.99", "php": "^5.6 || ~7.0.0 || ~7.1.0 || ~7.2.0", "psr/log": "^1.0", "setasign/fpdi": "1.6.*" }, "require-dev": { "mockery/mockery": "^0.9.5", "phpunit/phpunit": "^5.0", "squizlabs/php_codesniffer": "^2.7.0", "tracy/tracy": "^2.4" }, "suggest": { "ext-bcmath": "Needed for generation of some types of barcodes", "ext-xml": "Needed mainly for SVG manipulation", "ext-zlib": "Needed for compression of embedded resources, such as fonts" }, "type": "library", "extra": { "branch-alias": { "dev-development": "7.x-dev" } }, "autoload": { "psr-4": { "Mpdf\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "GPL-2.0-only" ], "authors": [ { "name": "Matěj Humpál", "role": "Developer, maintainer" }, { "name": "Ian Back", "role": "Developer (retired)" } ], "description": "A PHP class to generate PDF files from HTML with Unicode/UTF-8 and CJK support", "homepage": "https://mpdf.github.io", "keywords": [ "pdf", "php", "utf-8" ], "time": "2018-10-18T11:37:12+00:00" }, { "name": "myclabs/deep-copy", "version": "1.9.3", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", "reference": "007c053ae6f31bba39dfa19a7726f56e9763bbea" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/007c053ae6f31bba39dfa19a7726f56e9763bbea", "reference": "007c053ae6f31bba39dfa19a7726f56e9763bbea", "shasum": "" }, "require": { "php": "^7.1" }, "replace": { "myclabs/deep-copy": "self.version" }, "require-dev": { "doctrine/collections": "^1.0", "doctrine/common": "^2.6", "phpunit/phpunit": "^7.1" }, "type": "library", "autoload": { "psr-4": { "DeepCopy\\": "src/DeepCopy/" }, "files": [ "src/DeepCopy/deep_copy.php" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "description": "Create deep copies (clones) of your objects", "keywords": [ "clone", "copy", "duplicate", "object", "object graph" ], "time": "2019-08-09T12:45:53+00:00" }, { "name": "nahid/apiz", "version": "v3.1.0", "source": { "type": "git", "url": "https://github.com/nahid/apiz.git", "reference": "64197488b4df1fba8d756fd643d22d6a1232ccfd" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/nahid/apiz/zipball/64197488b4df1fba8d756fd643d22d6a1232ccfd", "reference": "64197488b4df1fba8d756fd643d22d6a1232ccfd", "shasum": "" }, "require": { "ext-json": "*", "guzzlehttp/guzzle": "^6.4", "guzzlehttp/psr7": "^1.6", "lib-libxml": ">=2.6.20", "nahid/qarray": "^1.2", "php": ">=5.5.9 | >=7.0" }, "require-dev": { "phpunit/phpunit": "^6.2", "symfony/var-dumper": "^3.4" }, "suggest": { "ext-curl": "*", "ext-libxml": "*", "ext-simplexml": "*", "ext-yaml": "*" }, "type": "php", "autoload": { "psr-4": { "Apiz\\": "src/" }, "files": [] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Nahid Bin Azhar", "email": "nahid.dns@gmail.com" } ], "description": "Apiz is a boilerplate for REST API manager", "time": "2019-10-30T05:53:11+00:00" }, { "name": "nahid/presento", "version": "v1.0.2", "source": { "type": "git", "url": "https://github.com/nahid/presento.git", "reference": "f8dcb2c8dbbc73b81d75df176257910c7db5c5a6" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/nahid/presento/zipball/f8dcb2c8dbbc73b81d75df176257910c7db5c5a6", "reference": "f8dcb2c8dbbc73b81d75df176257910c7db5c5a6", "shasum": "" }, "require": { "ext-json": "*", "php": ">=7.0" }, "require-dev": { "symfony/var-dumper": "4.4.x-dev" }, "type": "library", "autoload": { "files": [ "helpers/presento.php" ], "psr-4": { "Nahid\\Presento\\": "src/", "Example\\": "example/" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Nahid Bin Azhar", "email": "nahid.dns@gmail.com" } ], "description": "Presento is a package for PHP data presenter", "time": "2019-10-17T12:03:12+00:00" }, { "name": "nahid/qarray", "version": "v1.2.0", "source": { "type": "git", "url": "https://github.com/nahid/qarray.git", "reference": "885a13460f0f72d5bf5aee9a33daf05a328f5e13" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/nahid/qarray/zipball/885a13460f0f72d5bf5aee9a33daf05a328f5e13", "reference": "885a13460f0f72d5bf5aee9a33daf05a328f5e13", "shasum": "" }, "require": { "myclabs/deep-copy": "^1.8", "php": ">=5.6.0" }, "require-dev": { "phpunit/phpunit": "^4.8 || ^5.0", "symfony/var-dumper": "^3.4" }, "type": "library", "autoload": { "psr-4": { "Nahid\\QArray\\": "src/" }, "files": [ "helpers/qarray.php" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Nahid Bin Azhar", "email": "nahid.dns@gmail.com" } ], "description": "QArray is a PHP abstraction for quering array", "homepage": "https://github.com/nahid/qarray", "keywords": [ "array", "php", "query" ], "time": "2019-10-30T06:25:33+00:00" }, { "name": "namshi/jose", "version": "7.2.3", "source": { "type": "git", "url": "https://github.com/namshi/jose.git", "reference": "89a24d7eb3040e285dd5925fcad992378b82bcff" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/namshi/jose/zipball/89a24d7eb3040e285dd5925fcad992378b82bcff", "reference": "89a24d7eb3040e285dd5925fcad992378b82bcff", "shasum": "" }, "require": { "ext-date": "*", "ext-hash": "*", "ext-json": "*", "ext-pcre": "*", "ext-spl": "*", "php": ">=5.5", "symfony/polyfill-php56": "^1.0" }, "require-dev": { "phpseclib/phpseclib": "^2.0", "phpunit/phpunit": "^4.5|^5.0", "satooshi/php-coveralls": "^1.0" }, "suggest": { "ext-openssl": "Allows to use OpenSSL as crypto engine.", "phpseclib/phpseclib": "Allows to use Phpseclib as crypto engine, use version ^2.0." }, "type": "library", "autoload": { "psr-4": { "Namshi\\JOSE\\": "src/Namshi/JOSE/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Alessandro Nadalin", "email": "alessandro.nadalin@gmail.com" }, { "name": "Alessandro Cinelli (cirpo)", "email": "alessandro.cinelli@gmail.com" } ], "description": "JSON Object Signing and Encryption library for PHP.", "keywords": [ "JSON Web Signature", "JSON Web Token", "JWS", "json", "jwt", "token" ], "time": "2016-12-05T07:27:31+00:00" }, { "name": "nesbot/carbon", "version": "1.25.0", "source": { "type": "git", "url": "https://github.com/briannesbitt/Carbon.git", "reference": "cbcf13da0b531767e39eb86e9687f5deba9857b4" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/cbcf13da0b531767e39eb86e9687f5deba9857b4", "reference": "cbcf13da0b531767e39eb86e9687f5deba9857b4", "shasum": "" }, "require": { "php": ">=5.3.9", "symfony/translation": "~2.6 || ~3.0 || ~4.0" }, "require-dev": { "friendsofphp/php-cs-fixer": "~2", "phpunit/phpunit": "^4.8.35 || ^5.7" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.23-dev" } }, "autoload": { "psr-4": { "Carbon\\": "src/Carbon/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Brian Nesbitt", "email": "brian@nesbot.com", "homepage": "http://nesbot.com" } ], "description": "A simple API extension for DateTime.", "homepage": "http://carbon.nesbot.com", "keywords": [ "date", "datetime", "time" ], "time": "2018-03-19T15:50:49+00:00" }, { "name": "nikic/php-parser", "version": "v4.1.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", "reference": "d0230c5c77a7e3cfa69446febf340978540958c0" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/d0230c5c77a7e3cfa69446febf340978540958c0", "reference": "d0230c5c77a7e3cfa69446febf340978540958c0", "shasum": "" }, "require": { "ext-tokenizer": "*", "php": ">=7.0" }, "require-dev": { "phpunit/phpunit": "^6.5 || ^7.0" }, "bin": [ "bin/php-parse" ], "type": "library", "extra": { "branch-alias": { "dev-master": "4.1-dev" } }, "autoload": { "psr-4": { "PhpParser\\": "lib/PhpParser" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Nikita Popov" } ], "description": "A PHP parser written in PHP", "keywords": [ "parser", "php" ], "time": "2018-10-10T09:24:14+00:00" }, { "name": "ocramius/package-versions", "version": "1.4.0", "source": { "type": "git", "url": "https://github.com/Ocramius/PackageVersions.git", "reference": "a4d4b60d0e60da2487bd21a2c6ac089f85570dbb" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/Ocramius/PackageVersions/zipball/a4d4b60d0e60da2487bd21a2c6ac089f85570dbb", "reference": "a4d4b60d0e60da2487bd21a2c6ac089f85570dbb", "shasum": "" }, "require": { "composer-plugin-api": "^1.0.0", "php": "^7.1.0" }, "require-dev": { "composer/composer": "^1.6.3", "doctrine/coding-standard": "^5.0.1", "ext-zip": "*", "infection/infection": "^0.7.1", "phpunit/phpunit": "^7.0.0" }, "type": "composer-plugin", "extra": { "class": "PackageVersions\\Installer", "branch-alias": { "dev-master": "2.0.x-dev" } }, "autoload": { "psr-4": { "PackageVersions\\": "src/PackageVersions" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Marco Pivetta", "email": "ocramius@gmail.com" } ], "description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)", "time": "2019-02-21T12:16:21+00:00" }, { "name": "paragonie/random_compat", "version": "v9.99.99", "source": { "type": "git", "url": "https://github.com/paragonie/random_compat.git", "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/paragonie/random_compat/zipball/84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95", "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95", "shasum": "" }, "require": { "php": "^7" }, "require-dev": { "phpunit/phpunit": "4.*|5.*", "vimeo/psalm": "^1" }, "suggest": { "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." }, "type": "library", "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Paragon Initiative Enterprises", "email": "security@paragonie.com", "homepage": "https://paragonie.com" } ], "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", "keywords": [ "csprng", "polyfill", "pseudorandom", "random" ], "time": "2018-07-02T15:55:56+00:00" }, { "name": "php-http/client-common", "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/php-http/client-common.git", "reference": "2b8aa3c4910afc21146a9c8f96adb266e869517a" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/php-http/client-common/zipball/2b8aa3c4910afc21146a9c8f96adb266e869517a", "reference": "2b8aa3c4910afc21146a9c8f96adb266e869517a", "shasum": "" }, "require": { "php": "^7.1", "php-http/httplug": "^2.0", "php-http/message": "^1.6", "php-http/message-factory": "^1.0", "symfony/options-resolver": " ^3.4.20 || ^4.0.15 || ^4.1.9 || ^4.2.1" }, "require-dev": { "doctrine/instantiator": "^1.1", "guzzlehttp/psr7": "^1.4", "phpspec/phpspec": "^5.1", "phpspec/prophecy": "^1.8", "sebastian/comparator": "^3.0" }, "suggest": { "ext-json": "To detect JSON responses with the ContentTypePlugin", "ext-libxml": "To detect XML responses with the ContentTypePlugin", "php-http/cache-plugin": "PSR-6 Cache plugin", "php-http/logger-plugin": "PSR-3 Logger plugin", "php-http/stopwatch-plugin": "Symfony Stopwatch plugin" }, "type": "library", "extra": { "branch-alias": { "dev-master": "2.0.x-dev" } }, "autoload": { "psr-4": { "Http\\Client\\Common\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Márk Sági-Kazár", "email": "mark.sagikazar@gmail.com" } ], "description": "Common HTTP Client implementations and tools for HTTPlug", "homepage": "http://httplug.io", "keywords": [ "client", "common", "http", "httplug" ], "time": "2019-02-03T16:49:09+00:00" }, { "name": "php-http/curl-client", "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/php-http/curl-client.git", "reference": "e7a2a5ebcce1ff7d75eaf02b7c85634a6fac00da" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/php-http/curl-client/zipball/e7a2a5ebcce1ff7d75eaf02b7c85634a6fac00da", "reference": "e7a2a5ebcce1ff7d75eaf02b7c85634a6fac00da", "shasum": "" }, "require": { "ext-curl": "*", "php": "^7.1", "php-http/discovery": "^1.6", "php-http/httplug": "^2.0", "php-http/message": "^1.2", "psr/http-client": "^1.0", "psr/http-factory": "^1.0", "symfony/options-resolver": "^3.4 || ^4.0" }, "provide": { "php-http/async-client-implementation": "1.0", "php-http/client-implementation": "1.0" }, "require-dev": { "guzzlehttp/psr7": "^1.0", "php-http/client-integration-tests": "^2.0", "phpunit/phpunit": "^7.5", "zendframework/zend-diactoros": "^2.0" }, "type": "library", "extra": { "branch-alias": { "dev-master": "2.x-dev" } }, "autoload": { "psr-4": { "Http\\Client\\Curl\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Михаил Красильников", "email": "m.krasilnikov@yandex.ru" } ], "description": "PSR-18 and HTTPlug Async client with cURL", "homepage": "http://php-http.org", "keywords": [ "curl", "http", "psr-18" ], "time": "2019-03-05T19:59:23+00:00" }, { "name": "php-http/discovery", "version": "1.7.0", "source": { "type": "git", "url": "https://github.com/php-http/discovery.git", "reference": "e822f86a6983790aa17ab13aa7e69631e86806b6" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/php-http/discovery/zipball/e822f86a6983790aa17ab13aa7e69631e86806b6", "reference": "e822f86a6983790aa17ab13aa7e69631e86806b6", "shasum": "" }, "require": { "php": "^7.1" }, "conflict": { "nyholm/psr7": "<1.0" }, "require-dev": { "akeneo/phpspec-skip-example-extension": "^4.0", "php-http/httplug": "^1.0 || ^2.0", "php-http/message-factory": "^1.0", "phpspec/phpspec": "^5.1", "puli/composer-plugin": "1.0.0-beta10" }, "suggest": { "php-http/message": "Allow to use Guzzle, Diactoros or Slim Framework factories", "puli/composer-plugin": "Sets up Puli which is recommended for Discovery to work. Check http://docs.php-http.org/en/latest/discovery.html for more details." }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.7-dev" } }, "autoload": { "psr-4": { "Http\\Discovery\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Márk Sági-Kazár", "email": "mark.sagikazar@gmail.com" } ], "description": "Finds installed HTTPlug implementations and PSR-7 message factories", "homepage": "http://php-http.org", "keywords": [ "adapter", "client", "discovery", "factory", "http", "message", "psr7" ], "time": "2019-06-30T09:04:27+00:00" }, { "name": "php-http/httplug", "version": "v2.0.0", "source": { "type": "git", "url": "https://github.com/php-http/httplug.git", "reference": "b3842537338c949f2469557ef4ad4bdc47b58603" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/php-http/httplug/zipball/b3842537338c949f2469557ef4ad4bdc47b58603", "reference": "b3842537338c949f2469557ef4ad4bdc47b58603", "shasum": "" }, "require": { "php": "^7.0", "php-http/promise": "^1.0", "psr/http-client": "^1.0", "psr/http-message": "^1.0" }, "require-dev": { "henrikbjorn/phpspec-code-coverage": "^1.0", "phpspec/phpspec": "^2.4" }, "type": "library", "extra": { "branch-alias": { "dev-master": "2.0.x-dev" } }, "autoload": { "psr-4": { "Http\\Client\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Eric GELOEN", "email": "geloen.eric@gmail.com" }, { "name": "Márk Sági-Kazár", "email": "mark.sagikazar@gmail.com" } ], "description": "HTTPlug, the HTTP client abstraction for PHP", "homepage": "http://httplug.io", "keywords": [ "client", "http" ], "time": "2018-10-31T09:14:44+00:00" }, { "name": "php-http/message", "version": "1.7.2", "source": { "type": "git", "url": "https://github.com/php-http/message.git", "reference": "b159ffe570dffd335e22ef0b91a946eacb182fa1" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/php-http/message/zipball/b159ffe570dffd335e22ef0b91a946eacb182fa1", "reference": "b159ffe570dffd335e22ef0b91a946eacb182fa1", "shasum": "" }, "require": { "clue/stream-filter": "^1.4", "php": "^5.4 || ^7.0", "php-http/message-factory": "^1.0.2", "psr/http-message": "^1.0" }, "provide": { "php-http/message-factory-implementation": "1.0" }, "require-dev": { "akeneo/phpspec-skip-example-extension": "^1.0", "coduo/phpspec-data-provider-extension": "^1.0", "ext-zlib": "*", "guzzlehttp/psr7": "^1.0", "henrikbjorn/phpspec-code-coverage": "^1.0", "phpspec/phpspec": "^2.4", "slim/slim": "^3.0", "zendframework/zend-diactoros": "^1.0" }, "suggest": { "ext-zlib": "Used with compressor/decompressor streams", "guzzlehttp/psr7": "Used with Guzzle PSR-7 Factories", "slim/slim": "Used with Slim Framework PSR-7 implementation", "zendframework/zend-diactoros": "Used with Diactoros Factories" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.6-dev" } }, "autoload": { "psr-4": { "Http\\Message\\": "src/" }, "files": [ "src/filters.php" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Márk Sági-Kazár", "email": "mark.sagikazar@gmail.com" } ], "description": "HTTP Message related tools", "homepage": "http://php-http.org", "keywords": [ "http", "message", "psr-7" ], "time": "2018-11-01T09:32:41+00:00" }, { "name": "php-http/message-factory", "version": "v1.0.2", "source": { "type": "git", "url": "https://github.com/php-http/message-factory.git", "reference": "a478cb11f66a6ac48d8954216cfed9aa06a501a1" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/php-http/message-factory/zipball/a478cb11f66a6ac48d8954216cfed9aa06a501a1", "reference": "a478cb11f66a6ac48d8954216cfed9aa06a501a1", "shasum": "" }, "require": { "php": ">=5.4", "psr/http-message": "^1.0" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.0-dev" } }, "autoload": { "psr-4": { "Http\\Message\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Márk Sági-Kazár", "email": "mark.sagikazar@gmail.com" } ], "description": "Factory interfaces for PSR-7 HTTP Message", "homepage": "http://php-http.org", "keywords": [ "factory", "http", "message", "stream", "uri" ], "time": "2015-12-19T14:08:53+00:00" }, { "name": "php-http/promise", "version": "v1.0.0", "source": { "type": "git", "url": "https://github.com/php-http/promise.git", "reference": "dc494cdc9d7160b9a09bd5573272195242ce7980" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/php-http/promise/zipball/dc494cdc9d7160b9a09bd5573272195242ce7980", "reference": "dc494cdc9d7160b9a09bd5573272195242ce7980", "shasum": "" }, "require-dev": { "henrikbjorn/phpspec-code-coverage": "^1.0", "phpspec/phpspec": "^2.4" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.1-dev" } }, "autoload": { "psr-4": { "Http\\Promise\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Márk Sági-Kazár", "email": "mark.sagikazar@gmail.com" }, { "name": "Joel Wurtz", "email": "joel.wurtz@gmail.com" } ], "description": "Promise used for asynchronous HTTP requests", "homepage": "http://httplug.io", "keywords": [ "promise" ], "time": "2016-01-26T13:27:02+00:00" }, { "name": "phpoffice/phpexcel", "version": "1.8.2", "source": { "type": "git", "url": "https://github.com/PHPOffice/PHPExcel.git", "reference": "1441011fb7ecdd8cc689878f54f8b58a6805f870" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/PHPOffice/PHPExcel/zipball/1441011fb7ecdd8cc689878f54f8b58a6805f870", "reference": "1441011fb7ecdd8cc689878f54f8b58a6805f870", "shasum": "" }, "require": { "ext-mbstring": "*", "ext-xml": "*", "ext-xmlwriter": "*", "php": "^5.2|^7.0" }, "require-dev": { "squizlabs/php_codesniffer": "2.*" }, "type": "library", "autoload": { "psr-0": { "PHPExcel": "Classes/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "LGPL-2.1" ], "authors": [ { "name": "Maarten Balliauw", "homepage": "http://blog.maartenballiauw.be" }, { "name": "Erik Tilt" }, { "name": "Franck Lefevre", "homepage": "http://rootslabs.net" }, { "name": "Mark Baker", "homepage": "http://markbakeruk.net" } ], "description": "PHPExcel - OpenXML - Read, Create and Write Spreadsheet documents in PHP - Spreadsheet engine", "homepage": "https://github.com/PHPOffice/PHPExcel", "keywords": [ "OpenXML", "excel", "php", "spreadsheet", "xls", "xlsx" ], "abandoned": "phpoffice/phpspreadsheet", "time": "2018-11-22T23:07:24+00:00" }, { "name": "phpoffice/phpspreadsheet", "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/PHPOffice/PhpSpreadsheet.git", "reference": "a2771e562e3a17c0d512d2009e38fd628beece90" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/a2771e562e3a17c0d512d2009e38fd628beece90", "reference": "a2771e562e3a17c0d512d2009e38fd628beece90", "shasum": "" }, "require": { "ext-ctype": "*", "ext-dom": "*", "ext-gd": "*", "ext-iconv": "*", "ext-libxml": "*", "ext-mbstring": "*", "ext-simplexml": "*", "ext-xml": "*", "ext-xmlreader": "*", "ext-xmlwriter": "*", "ext-zip": "*", "ext-zlib": "*", "php": "^5.6|^7.0", "psr/simple-cache": "^1.0" }, "require-dev": { "dompdf/dompdf": "^0.8.0", "friendsofphp/php-cs-fixer": "@stable", "jpgraph/jpgraph": "^4.0", "mpdf/mpdf": "^7.0.0", "phpunit/phpunit": "^5.7", "squizlabs/php_codesniffer": "^2.7", "tecnickcom/tcpdf": "^6.2" }, "suggest": { "dompdf/dompdf": "Option for rendering PDF with PDF Writer", "ext-dom": "Option to read and write HTML files", "ext-gd": "Required for exact column width autocalculation", "jpgraph/jpgraph": "Option for rendering charts, or including charts with PDF or HTML Writers", "mpdf/mpdf": "Option for rendering PDF with PDF Writer", "tecnick.com/tcpdf": "Option for rendering PDF with PDF Writer" }, "type": "library", "autoload": { "psr-4": { "PhpOffice\\PhpSpreadsheet\\": "src/PhpSpreadsheet" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "LGPL-2.1" ], "authors": [ { "name": "Maarten Balliauw", "homepage": "http://blog.maartenballiauw.be" }, { "name": "Erik Tilt" }, { "name": "Franck Lefevre", "homepage": "http://rootslabs.net" }, { "name": "Mark Baker", "homepage": "http://markbakeruk.net" } ], "description": "PHPSpreadsheet - Read, Create and Write Spreadsheet documents in PHP - Spreadsheet engine", "homepage": "https://github.com/PHPOffice/PhpSpreadsheet", "keywords": [ "OpenXML", "excel", "gnumeric", "ods", "php", "spreadsheet", "xls", "xlsx" ], "time": "2018-01-28T12:37:15+00:00" }, { "name": "predis/predis", "version": "v1.1.1", "source": { "type": "git", "url": "https://github.com/nrk/predis.git", "reference": "f0210e38881631afeafb56ab43405a92cafd9fd1" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/nrk/predis/zipball/f0210e38881631afeafb56ab43405a92cafd9fd1", "reference": "f0210e38881631afeafb56ab43405a92cafd9fd1", "shasum": "" }, "require": { "php": ">=5.3.9" }, "require-dev": { "phpunit/phpunit": "~4.8" }, "suggest": { "ext-curl": "Allows access to Webdis when paired with phpiredis", "ext-phpiredis": "Allows faster serialization and deserialization of the Redis protocol" }, "type": "library", "autoload": { "psr-4": { "Predis\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Daniele Alessandri", "email": "suppakilla@gmail.com", "homepage": "http://clorophilla.net" } ], "description": "Flexible and feature-complete Redis client for PHP and HHVM", "homepage": "http://github.com/nrk/predis", "keywords": [ "nosql", "predis", "redis" ], "time": "2016-06-16T16:22:20+00:00" }, { "name": "prologue/alerts", "version": "0.4.2", "source": { "type": "git", "url": "https://github.com/prologuephp/alerts.git", "reference": "d3bf5d7ea480cbbf372bb7f80e23e193ce4862c7" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/prologuephp/alerts/zipball/d3bf5d7ea480cbbf372bb7f80e23e193ce4862c7", "reference": "d3bf5d7ea480cbbf372bb7f80e23e193ce4862c7", "shasum": "" }, "require": { "illuminate/config": "~5", "illuminate/session": "~5", "illuminate/support": "~5", "php": ">=5.4.0" }, "require-dev": { "mockery/mockery": "~0.9", "phpunit/phpunit": "~4.1" }, "type": "library", "extra": { "laravel": { "providers": [ "Prologue\\Alerts\\AlertsServiceProvider" ], "aliases": { "Alert": "Prologue\\Alerts\\Facades\\Alert" } } }, "autoload": { "psr-4": { "Prologue\\Alerts\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Dries Vints", "email": "dries.vints@gmail.com", "homepage": "http://driesvints.com", "role": "Maintainer" } ], "description": "Prologue Alerts is a package that handles global site messages.", "keywords": [ "alerts", "laravel", "messages" ], "time": "2018-02-08T11:29:22+00:00" }, { "name": "psr/cache", "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/php-fig/cache.git", "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", "shasum": "" }, "require": { "php": ">=5.3.0" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.0.x-dev" } }, "autoload": { "psr-4": { "Psr\\Cache\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "PHP-FIG", "homepage": "http://www.php-fig.org/" } ], "description": "Common interface for caching libraries", "keywords": [ "cache", "psr", "psr-6" ], "time": "2016-08-06T20:24:11+00:00" }, { "name": "psr/container", "version": "1.0.0", "source": { "type": "git", "url": "https://github.com/php-fig/container.git", "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", "shasum": "" }, "require": { "php": ">=5.3.0" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.0.x-dev" } }, "autoload": { "psr-4": { "Psr\\Container\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "PHP-FIG", "homepage": "http://www.php-fig.org/" } ], "description": "Common Container Interface (PHP FIG PSR-11)", "homepage": "https://github.com/php-fig/container", "keywords": [ "PSR-11", "container", "container-interface", "container-interop", "psr" ], "time": "2017-02-14T16:28:37+00:00" }, { "name": "psr/http-client", "version": "1.0.0", "source": { "type": "git", "url": "https://github.com/php-fig/http-client.git", "reference": "496a823ef742b632934724bf769560c2a5c7c44e" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/php-fig/http-client/zipball/496a823ef742b632934724bf769560c2a5c7c44e", "reference": "496a823ef742b632934724bf769560c2a5c7c44e", "shasum": "" }, "require": { "php": "^7.0", "psr/http-message": "^1.0" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.0.x-dev" } }, "autoload": { "psr-4": { "Psr\\Http\\Client\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "PHP-FIG", "homepage": "http://www.php-fig.org/" } ], "description": "Common interface for HTTP clients", "homepage": "https://github.com/php-fig/http-client", "keywords": [ "http", "http-client", "psr", "psr-18" ], "time": "2018-10-30T23:29:13+00:00" }, { "name": "psr/http-factory", "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/php-fig/http-factory.git", "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/php-fig/http-factory/zipball/12ac7fcd07e5b077433f5f2bee95b3a771bf61be", "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be", "shasum": "" }, "require": { "php": ">=7.0.0", "psr/http-message": "^1.0" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.0.x-dev" } }, "autoload": { "psr-4": { "Psr\\Http\\Message\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "PHP-FIG", "homepage": "http://www.php-fig.org/" } ], "description": "Common interfaces for PSR-7 HTTP message factories", "keywords": [ "factory", "http", "message", "psr", "psr-17", "psr-7", "request", "response" ], "time": "2019-04-30T12:38:16+00:00" }, { "name": "psr/http-message", "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/php-fig/http-message.git", "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", "shasum": "" }, "require": { "php": ">=5.3.0" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.0.x-dev" } }, "autoload": { "psr-4": { "Psr\\Http\\Message\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "PHP-FIG", "homepage": "http://www.php-fig.org/" } ], "description": "Common interface for HTTP messages", "homepage": "https://github.com/php-fig/http-message", "keywords": [ "http", "http-message", "psr", "psr-7", "request", "response" ], "time": "2016-08-06T14:39:51+00:00" }, { "name": "psr/log", "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/php-fig/log.git", "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/php-fig/log/zipball/6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd", "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd", "shasum": "" }, "require": { "php": ">=5.3.0" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.0.x-dev" } }, "autoload": { "psr-4": { "Psr\\Log\\": "Psr/Log/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "PHP-FIG", "homepage": "http://www.php-fig.org/" } ], "description": "Common interface for logging libraries", "homepage": "https://github.com/php-fig/log", "keywords": [ "log", "psr", "psr-3" ], "time": "2018-11-20T15:27:04+00:00" }, { "name": "psr/simple-cache", "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/php-fig/simple-cache.git", "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", "shasum": "" }, "require": { "php": ">=5.3.0" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.0.x-dev" } }, "autoload": { "psr-4": { "Psr\\SimpleCache\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "PHP-FIG", "homepage": "http://www.php-fig.org/" } ], "description": "Common interfaces for simple caching", "keywords": [ "cache", "caching", "psr", "psr-16", "simple-cache" ], "time": "2017-10-23T01:57:42+00:00" }, { "name": "psy/psysh", "version": "v0.9.9", "source": { "type": "git", "url": "https://github.com/bobthecow/psysh.git", "reference": "9aaf29575bb8293206bb0420c1e1c87ff2ffa94e" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/bobthecow/psysh/zipball/9aaf29575bb8293206bb0420c1e1c87ff2ffa94e", "reference": "9aaf29575bb8293206bb0420c1e1c87ff2ffa94e", "shasum": "" }, "require": { "dnoegel/php-xdg-base-dir": "0.1", "ext-json": "*", "ext-tokenizer": "*", "jakub-onderka/php-console-highlighter": "0.3.*|0.4.*", "nikic/php-parser": "~1.3|~2.0|~3.0|~4.0", "php": ">=5.4.0", "symfony/console": "~2.3.10|^2.4.2|~3.0|~4.0", "symfony/var-dumper": "~2.7|~3.0|~4.0" }, "require-dev": { "bamarni/composer-bin-plugin": "^1.2", "hoa/console": "~2.15|~3.16", "phpunit/phpunit": "~4.8.35|~5.0|~6.0|~7.0" }, "suggest": { "ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)", "ext-pdo-sqlite": "The doc command requires SQLite to work.", "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well.", "ext-readline": "Enables support for arrow-key history navigation, and showing and manipulating command history.", "hoa/console": "A pure PHP readline implementation. You'll want this if your PHP install doesn't already support readline or libedit." }, "bin": [ "bin/psysh" ], "type": "library", "extra": { "branch-alias": { "dev-develop": "0.9.x-dev" } }, "autoload": { "files": [ "src/functions.php" ], "psr-4": { "Psy\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Justin Hileman", "email": "justin@justinhileman.info", "homepage": "http://justinhileman.com" } ], "description": "An interactive shell for modern PHP.", "homepage": "http://psysh.org", "keywords": [ "REPL", "console", "interactive", "shell" ], "time": "2018-10-13T15:16:03+00:00" }, { "name": "ralouphie/getallheaders", "version": "3.0.3", "source": { "type": "git", "url": "https://github.com/ralouphie/getallheaders.git", "reference": "120b605dfeb996808c31b6477290a714d356e822" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", "reference": "120b605dfeb996808c31b6477290a714d356e822", "shasum": "" }, "require": { "php": ">=5.6" }, "require-dev": { "php-coveralls/php-coveralls": "^2.1", "phpunit/phpunit": "^5 || ^6.5" }, "type": "library", "autoload": { "files": [ "src/getallheaders.php" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Ralph Khattar", "email": "ralph.khattar@gmail.com" } ], "description": "A polyfill for getallheaders.", "time": "2019-03-08T08:55:37+00:00" }, { "name": "ramsey/uuid", "version": "3.8.0", "source": { "type": "git", "url": "https://github.com/ramsey/uuid.git", "reference": "d09ea80159c1929d75b3f9c60504d613aeb4a1e3" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/ramsey/uuid/zipball/d09ea80159c1929d75b3f9c60504d613aeb4a1e3", "reference": "d09ea80159c1929d75b3f9c60504d613aeb4a1e3", "shasum": "" }, "require": { "paragonie/random_compat": "^1.0|^2.0|9.99.99", "php": "^5.4 || ^7.0", "symfony/polyfill-ctype": "^1.8" }, "replace": { "rhumsaa/uuid": "self.version" }, "require-dev": { "codeception/aspect-mock": "^1.0 | ~2.0.0", "doctrine/annotations": "~1.2.0", "goaop/framework": "1.0.0-alpha.2 | ^1.0 | ~2.1.0", "ircmaxell/random-lib": "^1.1", "jakub-onderka/php-parallel-lint": "^0.9.0", "mockery/mockery": "^0.9.9", "moontoast/math": "^1.1", "php-mock/php-mock-phpunit": "^0.3|^1.1", "phpunit/phpunit": "^4.7|^5.0|^6.5", "squizlabs/php_codesniffer": "^2.3" }, "suggest": { "ext-ctype": "Provides support for PHP Ctype functions", "ext-libsodium": "Provides the PECL libsodium extension for use with the SodiumRandomGenerator", "ext-uuid": "Provides the PECL UUID extension for use with the PeclUuidTimeGenerator and PeclUuidRandomGenerator", "ircmaxell/random-lib": "Provides RandomLib for use with the RandomLibAdapter", "moontoast/math": "Provides support for converting UUID to 128-bit integer (in string form).", "ramsey/uuid-console": "A console application for generating UUIDs with ramsey/uuid", "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." }, "type": "library", "extra": { "branch-alias": { "dev-master": "3.x-dev" } }, "autoload": { "psr-4": { "Ramsey\\Uuid\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Marijn Huizendveld", "email": "marijn.huizendveld@gmail.com" }, { "name": "Thibaud Fabre", "email": "thibaud@aztech.io" }, { "name": "Ben Ramsey", "email": "ben@benramsey.com", "homepage": "https://benramsey.com" } ], "description": "Formerly rhumsaa/uuid. A PHP 5.4+ library for generating RFC 4122 version 1, 3, 4, and 5 universally unique identifiers (UUID).", "homepage": "https://github.com/ramsey/uuid", "keywords": [ "guid", "identifier", "uuid" ], "time": "2018-07-19T23:38:55+00:00" }, { "name": "rap2hpoutre/laravel-log-viewer", "version": "v0.22.1", "source": { "type": "git", "url": "https://github.com/rap2hpoutre/laravel-log-viewer.git", "reference": "fd0821b073771f3e7256664417055a8bbb091059" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/rap2hpoutre/laravel-log-viewer/zipball/fd0821b073771f3e7256664417055a8bbb091059", "reference": "fd0821b073771f3e7256664417055a8bbb091059", "shasum": "" }, "require": { "illuminate/support": "4.2.*|5.*", "php": ">=5.4.0" }, "require-dev": { "orchestra/testbench": "^3.6", "phpunit/phpunit": "^7" }, "type": "laravel-package", "extra": { "laravel": { "providers": [ "Rap2hpoutre\\LaravelLogViewer\\LaravelLogViewerServiceProvider" ] } }, "autoload": { "classmap": [ "src/controllers" ], "psr-0": { "Rap2hpoutre\\LaravelLogViewer\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "rap2hpoutre", "email": "raphaelht@gmail.com" } ], "description": "A Laravel log reader", "keywords": [ "laravel", "log", "log-reader", "log-viewer", "logging", "lumen" ], "time": "2018-10-01T09:01:30+00:00" }, { "name": "react/promise", "version": "v2.7.1", "source": { "type": "git", "url": "https://github.com/reactphp/promise.git", "reference": "31ffa96f8d2ed0341a57848cbb84d88b89dd664d" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/reactphp/promise/zipball/31ffa96f8d2ed0341a57848cbb84d88b89dd664d", "reference": "31ffa96f8d2ed0341a57848cbb84d88b89dd664d", "shasum": "" }, "require": { "php": ">=5.4.0" }, "require-dev": { "phpunit/phpunit": "~4.8" }, "type": "library", "autoload": { "psr-4": { "React\\Promise\\": "src/" }, "files": [ "src/functions_include.php" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Jan Sorgalla", "email": "jsorgalla@gmail.com" } ], "description": "A lightweight implementation of CommonJS Promises/A for PHP", "keywords": [ "promise", "promises" ], "time": "2019-01-07T21:25:54+00:00" }, { "name": "riimu/kit-phpencoder", "version": "v2.4.0", "source": { "type": "git", "url": "https://github.com/Riimu/Kit-PHPEncoder.git", "reference": "7e876d25019c3f6c23321ab5ac1a55c72fcd0933" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/Riimu/Kit-PHPEncoder/zipball/7e876d25019c3f6c23321ab5ac1a55c72fcd0933", "reference": "7e876d25019c3f6c23321ab5ac1a55c72fcd0933", "shasum": "" }, "require": { "php": ">=5.6.0" }, "require-dev": { "phpunit/phpunit": "^7.2 || ^6.5 || ^5.7" }, "suggest": { "ext-gmp": "To convert GMP numbers into PHP code" }, "type": "library", "autoload": { "psr-4": { "Riimu\\Kit\\PHPEncoder\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Riikka Kalliomäki", "email": "riikka.kalliomaki@gmail.com", "homepage": "http://riimu.net" } ], "description": "Highly customizable alternative to var_export for PHP code generation", "homepage": "http://kit.riimu.net", "keywords": [ "code", "encoder", "export", "generator", "variable" ], "time": "2018-07-03T12:46:23+00:00" }, { "name": "sentry/sdk", "version": "2.0.3", "source": { "type": "git", "url": "https://github.com/getsentry/sentry-php-sdk.git", "reference": "91c36aec83e4c1c5801b64ef4927b78a5aa8ce7f" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/getsentry/sentry-php-sdk/zipball/91c36aec83e4c1c5801b64ef4927b78a5aa8ce7f", "reference": "91c36aec83e4c1c5801b64ef4927b78a5aa8ce7f", "shasum": "" }, "require": { "http-interop/http-factory-guzzle": "^1.0", "php-http/curl-client": "^1.0|^2.0", "sentry/sentry": "^2.0.1" }, "type": "metapackage", "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Sentry", "email": "accounts@sentry.io" } ], "description": "This is a metapackage shipping sentry/sentry with a recommended http client.", "time": "2019-04-08T07:21:45+00:00" }, { "name": "sentry/sentry", "version": "2.1.1", "source": { "type": "git", "url": "https://github.com/getsentry/sentry-php.git", "reference": "8e27e6c5fcf6f01fc2e5235dd14cc0b2b347d793" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/getsentry/sentry-php/zipball/8e27e6c5fcf6f01fc2e5235dd14cc0b2b347d793", "reference": "8e27e6c5fcf6f01fc2e5235dd14cc0b2b347d793", "shasum": "" }, "require": { "ext-json": "*", "ext-mbstring": "*", "jean85/pretty-package-versions": "^1.2", "php": "^7.1", "php-http/async-client-implementation": "^1.0", "php-http/client-common": "^1.5|^2.0", "php-http/discovery": "^1.6.1", "php-http/httplug": "^1.1|^2.0", "php-http/message": "^1.5", "psr/http-message-implementation": "^1.0", "ramsey/uuid": "^3.3", "symfony/options-resolver": "^2.7|^3.0|^4.0", "zendframework/zend-diactoros": "^1.4|^2.0" }, "conflict": { "php-http/client-common": "1.8.0", "raven/raven": "*" }, "require-dev": { "friendsofphp/php-cs-fixer": "^2.13", "monolog/monolog": "^1.3|^2.0", "php-http/mock-client": "^1.0", "phpstan/phpstan": "^0.10.3", "phpstan/phpstan-phpunit": "^0.10", "phpunit/phpunit": "^7.0", "symfony/phpunit-bridge": "^4.1.6" }, "type": "library", "extra": { "branch-alias": { "dev-master": "2.0.x-dev" } }, "autoload": { "files": [ "src/Sdk.php" ], "psr-4": { "Sentry\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Sentry", "email": "accounts@sentry.io" } ], "description": "A PHP SDK for Sentry (http://sentry.io)", "homepage": "http://sentry.io", "keywords": [ "crash-reporting", "crash-reports", "error-handler", "error-monitoring", "log", "logging", "sentry" ], "time": "2019-06-13T11:27:23+00:00" }, { "name": "sentry/sentry-laravel", "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/getsentry/sentry-laravel.git", "reference": "1e5f644b62ee73424ad8316e37b9a2dcf7290de8" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/getsentry/sentry-laravel/zipball/1e5f644b62ee73424ad8316e37b9a2dcf7290de8", "reference": "1e5f644b62ee73424ad8316e37b9a2dcf7290de8", "shasum": "" }, "require": { "illuminate/support": "5.0 - 5.8", "php": "^7.1", "sentry/sdk": "^2.0" }, "require-dev": { "friendsofphp/php-cs-fixer": "2.14.*", "laravel/framework": "5.8.*", "orchestra/testbench": "3.8.*", "phpunit/phpunit": "7.5.*" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.0.x-dev" }, "laravel": { "providers": [ "Sentry\\Laravel\\ServiceProvider" ], "aliases": { "Sentry": "Sentry\\Laravel\\Facade" } } }, "autoload": { "psr-0": { "Sentry\\Laravel\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "Apache-2.0" ], "authors": [ { "name": "Sentry", "email": "accounts@sentry.io" } ], "description": "Laravel SDK for Sentry (https://sentry.io)", "homepage": "https://sentry.io", "keywords": [ "crash-reporting", "crash-reports", "error-handler", "error-monitoring", "laravel", "log", "logging", "sentry" ], "time": "2019-07-04T10:36:53+00:00" }, { "name": "setasign/fpdi", "version": "1.6.2", "source": { "type": "git", "url": "https://github.com/Setasign/FPDI.git", "reference": "a6ad58897a6d97cc2d2cd2adaeda343b25a368ea" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/Setasign/FPDI/zipball/a6ad58897a6d97cc2d2cd2adaeda343b25a368ea", "reference": "a6ad58897a6d97cc2d2cd2adaeda343b25a368ea", "shasum": "" }, "suggest": { "setasign/fpdf": "FPDI will extend this class but as it is also possible to use \"tecnickcom/tcpdf\" as an alternative there's no fixed dependency configured.", "setasign/fpdi-fpdf": "Use this package to automatically evaluate dependencies to FPDF.", "setasign/fpdi-tcpdf": "Use this package to automatically evaluate dependencies to TCPDF." }, "type": "library", "autoload": { "classmap": [ "filters/", "fpdi.php", "fpdf_tpl.php", "fpdi_pdf_parser.php", "pdf_context.php" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Jan Slabon", "email": "jan.slabon@setasign.com", "homepage": "https://www.setasign.com" } ], "description": "FPDI is a collection of PHP classes facilitating developers to read pages from existing PDF documents and use them as templates in FPDF. Because it is also possible to use FPDI with TCPDF, there are no fixed dependencies defined. Please see suggestions for packages which evaluates the dependencies automatically.", "homepage": "https://www.setasign.com/fpdi", "keywords": [ "fpdf", "fpdi", "pdf" ], "time": "2017-05-11T14:25:49+00:00" }, { "name": "spatie/image", "version": "1.5.2", "source": { "type": "git", "url": "https://github.com/spatie/image.git", "reference": "d4cb6afff1b98fd6e17396d91e0e584c3d91bb23" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/spatie/image/zipball/d4cb6afff1b98fd6e17396d91e0e584c3d91bb23", "reference": "d4cb6afff1b98fd6e17396d91e0e584c3d91bb23", "shasum": "" }, "require": { "league/glide": "^1.2", "php": "^7.0", "spatie/image-optimizer": "^1.0", "spatie/temporary-directory": "^1.0.0", "symfony/process": "^3.0|^4.0" }, "require-dev": { "larapack/dd": "^1.1", "phpunit/phpunit": "^6.0|^7.0", "symfony/var-dumper": "^3.2" }, "type": "library", "autoload": { "psr-4": { "Spatie\\Image\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Freek Van der Herten", "email": "freek@spatie.be", "homepage": "https://spatie.be", "role": "Developer" } ], "description": "Manipulate images with an expressive API", "homepage": "https://github.com/spatie/image", "keywords": [ "image", "spatie" ], "time": "2018-05-05T21:44:52+00:00" }, { "name": "spatie/image-optimizer", "version": "1.1.3", "source": { "type": "git", "url": "https://github.com/spatie/image-optimizer.git", "reference": "90d6eebf9a84cc88e4cd2af3928004ba59e693a4" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/spatie/image-optimizer/zipball/90d6eebf9a84cc88e4cd2af3928004ba59e693a4", "reference": "90d6eebf9a84cc88e4cd2af3928004ba59e693a4", "shasum": "" }, "require": { "ext-fileinfo": "*", "php": "^7.0", "psr/log": "^1.0", "symfony/process": "^2.8|^3.0|^4.0" }, "require-dev": { "phpunit/phpunit": "^6.2|^7.0", "symfony/var-dumper": "^3.0|^4.0" }, "type": "library", "autoload": { "psr-4": { "Spatie\\ImageOptimizer\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Freek Van der Herten", "email": "freek@spatie.be", "homepage": "https://spatie.be", "role": "Developer" } ], "description": "Easily optimize images using PHP", "homepage": "https://github.com/spatie/image-optimizer", "keywords": [ "image-optimizer", "spatie" ], "time": "2018-11-19T22:17:30+00:00" }, { "name": "spatie/laravel-medialibrary", "version": "7.5.0", "source": { "type": "git", "url": "https://github.com/spatie/laravel-medialibrary.git", "reference": "5f980f3c2287fe9bd387ac46401972e0bc730bc6" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/spatie/laravel-medialibrary/zipball/5f980f3c2287fe9bd387ac46401972e0bc730bc6", "reference": "5f980f3c2287fe9bd387ac46401972e0bc730bc6", "shasum": "" }, "require": { "laravel/framework": "~5.5.0|~5.6.0|~5.7.0", "league/flysystem": "^1.0.8", "maennchen/zipstream-php": "~0.4", "php": "^7.1", "spatie/image": "^1.4.0", "spatie/pdf-to-image": "^1.2", "spatie/temporary-directory": "^1.1" }, "conflict": { "php-ffmpeg/php-ffmpeg": "<0.6.1" }, "require-dev": { "doctrine/dbal": "^2.5.2", "ext-pdo_sqlite": "*", "guzzlehttp/guzzle": "^6.3", "league/flysystem-aws-s3-v3": "^1.0.13", "mockery/mockery": "^1.0.0", "orchestra/testbench": "~3.5.0|~3.6.0|~3.7.0", "phpunit/phpunit": "^7.0", "spatie/phpunit-snapshot-assertions": "^1.2" }, "suggest": { "league/flysystem-aws-s3-v3": "Required to use AWS S3 file storage", "php-ffmpeg/php-ffmpeg": "Required for generating video thumbnails" }, "type": "library", "extra": { "laravel": { "providers": [ "Spatie\\MediaLibrary\\MediaLibraryServiceProvider" ] } }, "autoload": { "psr-4": { "Spatie\\MediaLibrary\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Freek Van der Herten", "email": "freek@spatie.be", "homepage": "https://murze.be", "role": "Developer" } ], "description": "Associate files with Eloquent models", "homepage": "https://github.com/spatie/laravel-medialibrary", "keywords": [ "cms", "conversion", "downloads", "images", "laravel", "laravel-medialibrary", "media", "spatie" ], "time": "2018-09-10T11:01:52+00:00" }, { "name": "spatie/laravel-translatable", "version": "2.2.1", "source": { "type": "git", "url": "https://github.com/spatie/laravel-translatable.git", "reference": "107df7d9a75046a7552a995ed3d1971a9f98f833" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/spatie/laravel-translatable/zipball/107df7d9a75046a7552a995ed3d1971a9f98f833", "reference": "107df7d9a75046a7552a995ed3d1971a9f98f833", "shasum": "" }, "require": { "laravel/framework": "~5.5.0|~5.6.0|~5.7.0", "php": "^7.0" }, "require-dev": { "mockery/mockery": "^1.0", "orchestra/testbench": "~3.5.0|~3.6.0|~3.7.0", "phpunit/phpunit": "^6.3|^7.0" }, "type": "library", "extra": { "laravel": { "providers": [ "Spatie\\Translatable\\TranslatableServiceProvider" ] } }, "autoload": { "psr-4": { "Spatie\\Translatable\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Sebastian De Deyne", "email": "sebastian@spatie.be", "homepage": "https://spatie.be", "role": "Developer" }, { "name": "Freek Van der Herten", "email": "freek@spatie.be", "homepage": "https://spatie.be", "role": "Developer" }, { "name": "Mohamed Said", "email": "theMohamedSaid@gmail.com", "role": "Original idea" } ], "description": "A trait to make an Eloquent model hold translations", "homepage": "https://github.com/spatie/laravel-translatable", "keywords": [ "eloquent", "i8n", "laravel-translatable", "model", "multilingual", "spatie", "translate" ], "time": "2018-08-24T09:34:12+00:00" }, { "name": "spatie/pdf-to-image", "version": "1.8.1", "source": { "type": "git", "url": "https://github.com/spatie/pdf-to-image.git", "reference": "f33afc92ff7bff272fa6a9ba1cc335e96c57eb26" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/spatie/pdf-to-image/zipball/f33afc92ff7bff272fa6a9ba1cc335e96c57eb26", "reference": "f33afc92ff7bff272fa6a9ba1cc335e96c57eb26", "shasum": "" }, "require": { "ext-imagick": "*", "php": "^7.0" }, "require-dev": { "phpunit/phpunit": "^6.2" }, "type": "library", "autoload": { "psr-4": { "Spatie\\PdfToImage\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Freek Van der Herten", "email": "freek@spatie.be", "homepage": "https://spatie.be", "role": "Developer" } ], "description": "Convert a pdf to an image", "homepage": "https://github.com/spatie/pdf-to-image", "keywords": [ "convert", "image", "pdf", "pdf-to-image", "spatie" ], "time": "2018-07-02T09:30:32+00:00" }, { "name": "spatie/temporary-directory", "version": "1.1.4", "source": { "type": "git", "url": "https://github.com/spatie/temporary-directory.git", "reference": "5e1799fa2297363ebfb4df296fea90afbd4ef9b7" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/spatie/temporary-directory/zipball/5e1799fa2297363ebfb4df296fea90afbd4ef9b7", "reference": "5e1799fa2297363ebfb4df296fea90afbd4ef9b7", "shasum": "" }, "require": { "php": "^7.0" }, "require-dev": { "phpunit/phpunit": "^6.3" }, "type": "library", "autoload": { "psr-4": { "Spatie\\TemporaryDirectory\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Alex Vanderbist", "email": "alex@spatie.be", "homepage": "https://spatie.be", "role": "Developer" } ], "description": "Easily create, use and destroy temporary directories", "homepage": "https://github.com/spatie/temporary-directory", "keywords": [ "spatie", "temporary-directory" ], "time": "2018-04-12T09:34:43+00:00" }, { "name": "studio-42/elfinder", "version": "2.1.43", "source": { "type": "git", "url": "https://github.com/Studio-42/elFinder.git", "reference": "878daf75321c5c81d1ae308298241d94b383ea62" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/Studio-42/elFinder/zipball/878daf75321c5c81d1ae308298241d94b383ea62", "reference": "878daf75321c5c81d1ae308298241d94b383ea62", "shasum": "" }, "require": { "php": ">=5.2" }, "suggest": { "barryvdh/elfinder-flysystem-driver": "VolumeDriver for elFinder to use Flysystem as a root.", "google/apiclient": "VolumeDriver GoogleDrive require `google/apiclient:^2.0.", "kunalvarma05/dropbox-php-sdk": "VolumeDriver `Dropbox`2 require `kunalvarma05/dropbox-php-sdk.", "nao-pon/flysystem-google-drive": "require in GoogleDrive network volume mounting with Flysystem." }, "type": "library", "autoload": { "classmap": [ "php" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Dmitry Levashov", "email": "dio@std42.ru", "homepage": "http://std42.ru" }, { "name": "Troex Nevelin", "email": "troex@fury.scancode.ru", "homepage": "http://std42.ru" }, { "name": "Community contributions", "homepage": "https://github.com/Studio-42/elFinder/contributors" }, { "name": "Naoki Sawada", "email": "hypweb+elfinder@gmail.com", "homepage": "http://xoops.hypweb.net" } ], "description": "File manager for web", "homepage": "http://elfinder.org", "time": "2018-11-24T01:37:42+00:00" }, { "name": "swayok/alternative-laravel-cache", "version": "dev-master", "source": { "type": "git", "url": "https://github.com/deligram/alternative-laravel-cache.git", "reference": "3570ef2c062e4eb055bdf50ee839ce4584b27840" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/deligram/alternative-laravel-cache/zipball/3570ef2c062e4eb055bdf50ee839ce4584b27840", "reference": "3570ef2c062e4eb055bdf50ee839ce4584b27840", "shasum": "" }, "require": { "cache/filesystem-adapter": "^0.3.0", "cache/predis-adapter": "^0.4.0", "laravel/framework": ">=5.2", "php": ">=5.6" }, "type": "library", "extra": { "laravel": { "providers": [ "AlternativeLaravelCache\\Provider\\AlternativeCacheStoresServiceProvider" ] } }, "autoload": { "psr-0": { "AlternativeLaravelCache": "/src" } }, "autoload-dev": { "psr-4": { "Tests\\": "tests/" } }, "license": [ "MIT" ], "authors": [ { "name": "Alexander Filippov" } ], "description": "Replacements for Laravel's redis and file cache stores that properly implement tagging idea. Powered by cache pool implementations provided by http://www.php-cache.com/", "keywords": [ "cache", "laravel", "php", "redis cache", "redis tagged cache", "tagged cache" ], "support": { "issues": "https://github.com/swayok/alternative-laravel-cache/issues", "source": "https://github.com/deligram/alternative-laravel-cache/tree/master" }, "time": "2019-03-24T16:19:12+00:00" }, { "name": "swiftmailer/swiftmailer", "version": "v6.1.3", "source": { "type": "git", "url": "https://github.com/swiftmailer/swiftmailer.git", "reference": "8ddcb66ac10c392d3beb54829eef8ac1438595f4" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/8ddcb66ac10c392d3beb54829eef8ac1438595f4", "reference": "8ddcb66ac10c392d3beb54829eef8ac1438595f4", "shasum": "" }, "require": { "egulias/email-validator": "~2.0", "php": ">=7.0.0" }, "require-dev": { "mockery/mockery": "~0.9.1", "symfony/phpunit-bridge": "~3.3@dev" }, "suggest": { "ext-intl": "Needed to support internationalized email addresses", "true/punycode": "Needed to support internationalized email addresses, if ext-intl is not installed" }, "type": "library", "extra": { "branch-alias": { "dev-master": "6.1-dev" } }, "autoload": { "files": [ "lib/swift_required.php" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Chris Corbyn" }, { "name": "Fabien Potencier", "email": "fabien@symfony.com" } ], "description": "Swiftmailer, free feature-rich PHP mailer", "homepage": "https://swiftmailer.symfony.com", "keywords": [ "email", "mail", "mailer" ], "time": "2018-09-11T07:12:52+00:00" }, { "name": "symfony/console", "version": "v4.1.8", "source": { "type": "git", "url": "https://github.com/symfony/console.git", "reference": "c74f4d1988dfcd8760273e53551694da32b056d0" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/console/zipball/c74f4d1988dfcd8760273e53551694da32b056d0", "reference": "c74f4d1988dfcd8760273e53551694da32b056d0", "shasum": "" }, "require": { "php": "^7.1.3", "symfony/polyfill-mbstring": "~1.0" }, "conflict": { "symfony/dependency-injection": "<3.4", "symfony/process": "<3.3" }, "require-dev": { "psr/log": "~1.0", "symfony/config": "~3.4|~4.0", "symfony/dependency-injection": "~3.4|~4.0", "symfony/event-dispatcher": "~3.4|~4.0", "symfony/lock": "~3.4|~4.0", "symfony/process": "~3.4|~4.0" }, "suggest": { "psr/log-implementation": "For using the console logger", "symfony/event-dispatcher": "", "symfony/lock": "", "symfony/process": "" }, "type": "library", "extra": { "branch-alias": { "dev-master": "4.1-dev" } }, "autoload": { "psr-4": { "Symfony\\Component\\Console\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Fabien Potencier", "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Symfony Console Component", "homepage": "https://symfony.com", "time": "2018-11-26T14:00:40+00:00" }, { "name": "symfony/css-selector", "version": "v4.1.8", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", "reference": "9e4dc57949853315561f0cd5eb84d0707465502a" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/css-selector/zipball/9e4dc57949853315561f0cd5eb84d0707465502a", "reference": "9e4dc57949853315561f0cd5eb84d0707465502a", "shasum": "" }, "require": { "php": "^7.1.3" }, "type": "library", "extra": { "branch-alias": { "dev-master": "4.1-dev" } }, "autoload": { "psr-4": { "Symfony\\Component\\CssSelector\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Jean-François Simon", "email": "jeanfrancois.simon@sensiolabs.com" }, { "name": "Fabien Potencier", "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Symfony CssSelector Component", "homepage": "https://symfony.com", "time": "2018-11-11T19:51:29+00:00" }, { "name": "symfony/debug", "version": "v4.2.3", "source": { "type": "git", "url": "https://github.com/symfony/debug.git", "reference": "cf9b2e33f757deb884ce474e06d2647c1c769b65" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/debug/zipball/cf9b2e33f757deb884ce474e06d2647c1c769b65", "reference": "cf9b2e33f757deb884ce474e06d2647c1c769b65", "shasum": "" }, "require": { "php": "^7.1.3", "psr/log": "~1.0" }, "conflict": { "symfony/http-kernel": "<3.4" }, "require-dev": { "symfony/http-kernel": "~3.4|~4.0" }, "type": "library", "extra": { "branch-alias": { "dev-master": "4.2-dev" } }, "autoload": { "psr-4": { "Symfony\\Component\\Debug\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Fabien Potencier", "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Symfony Debug Component", "homepage": "https://symfony.com", "time": "2019-01-25T14:35:16+00:00" }, { "name": "symfony/event-dispatcher", "version": "v4.1.8", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", "reference": "8b93ce06506d58485893e2da366767dcc5390862" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/8b93ce06506d58485893e2da366767dcc5390862", "reference": "8b93ce06506d58485893e2da366767dcc5390862", "shasum": "" }, "require": { "php": "^7.1.3" }, "conflict": { "symfony/dependency-injection": "<3.4" }, "require-dev": { "psr/log": "~1.0", "symfony/config": "~3.4|~4.0", "symfony/dependency-injection": "~3.4|~4.0", "symfony/expression-language": "~3.4|~4.0", "symfony/stopwatch": "~3.4|~4.0" }, "suggest": { "symfony/dependency-injection": "", "symfony/http-kernel": "" }, "type": "library", "extra": { "branch-alias": { "dev-master": "4.1-dev" } }, "autoload": { "psr-4": { "Symfony\\Component\\EventDispatcher\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Fabien Potencier", "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Symfony EventDispatcher Component", "homepage": "https://symfony.com", "time": "2018-11-26T10:26:29+00:00" }, { "name": "symfony/finder", "version": "v4.1.8", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", "reference": "68fbdcafe915db67adb13fddaec4532e684f6689" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/finder/zipball/68fbdcafe915db67adb13fddaec4532e684f6689", "reference": "68fbdcafe915db67adb13fddaec4532e684f6689", "shasum": "" }, "require": { "php": "^7.1.3" }, "type": "library", "extra": { "branch-alias": { "dev-master": "4.1-dev" } }, "autoload": { "psr-4": { "Symfony\\Component\\Finder\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Fabien Potencier", "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Symfony Finder Component", "homepage": "https://symfony.com", "time": "2018-11-11T19:51:29+00:00" }, { "name": "symfony/http-foundation", "version": "v4.1.8", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", "reference": "26062b9527b6797fc6239ed698c9c0a3c5e891e0" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/http-foundation/zipball/26062b9527b6797fc6239ed698c9c0a3c5e891e0", "reference": "26062b9527b6797fc6239ed698c9c0a3c5e891e0", "shasum": "" }, "require": { "php": "^7.1.3", "symfony/polyfill-mbstring": "~1.1" }, "require-dev": { "predis/predis": "~1.0", "symfony/expression-language": "~3.4|~4.0" }, "type": "library", "extra": { "branch-alias": { "dev-master": "4.1-dev" } }, "autoload": { "psr-4": { "Symfony\\Component\\HttpFoundation\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Fabien Potencier", "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Symfony HttpFoundation Component", "homepage": "https://symfony.com", "time": "2018-11-26T10:26:29+00:00" }, { "name": "symfony/http-kernel", "version": "v4.1.8", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", "reference": "2be29c72276ba4ef5c5488de666f9f12aa768b44" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/http-kernel/zipball/2be29c72276ba4ef5c5488de666f9f12aa768b44", "reference": "2be29c72276ba4ef5c5488de666f9f12aa768b44", "shasum": "" }, "require": { "php": "^7.1.3", "psr/log": "~1.0", "symfony/debug": "~3.4|~4.0", "symfony/event-dispatcher": "~4.1", "symfony/http-foundation": "^4.1.1", "symfony/polyfill-ctype": "~1.8" }, "conflict": { "symfony/config": "<3.4", "symfony/dependency-injection": "<4.1", "symfony/var-dumper": "<4.1.1", "twig/twig": "<1.34|<2.4,>=2" }, "provide": { "psr/log-implementation": "1.0" }, "require-dev": { "psr/cache": "~1.0", "symfony/browser-kit": "~3.4|~4.0", "symfony/config": "~3.4|~4.0", "symfony/console": "~3.4|~4.0", "symfony/css-selector": "~3.4|~4.0", "symfony/dependency-injection": "^4.1", "symfony/dom-crawler": "~3.4|~4.0", "symfony/expression-language": "~3.4|~4.0", "symfony/finder": "~3.4|~4.0", "symfony/process": "~3.4|~4.0", "symfony/routing": "~3.4|~4.0", "symfony/stopwatch": "~3.4|~4.0", "symfony/templating": "~3.4|~4.0", "symfony/translation": "~3.4|~4.0", "symfony/var-dumper": "^4.1.1" }, "suggest": { "symfony/browser-kit": "", "symfony/config": "", "symfony/console": "", "symfony/dependency-injection": "", "symfony/var-dumper": "" }, "type": "library", "extra": { "branch-alias": { "dev-master": "4.1-dev" } }, "autoload": { "psr-4": { "Symfony\\Component\\HttpKernel\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Fabien Potencier", "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Symfony HttpKernel Component", "homepage": "https://symfony.com", "time": "2018-11-26T14:52:15+00:00" }, { "name": "symfony/options-resolver", "version": "v4.3.2", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", "reference": "40762ead607c8f792ee4516881369ffa553fee6f" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/options-resolver/zipball/40762ead607c8f792ee4516881369ffa553fee6f", "reference": "40762ead607c8f792ee4516881369ffa553fee6f", "shasum": "" }, "require": { "php": "^7.1.3" }, "type": "library", "extra": { "branch-alias": { "dev-master": "4.3-dev" } }, "autoload": { "psr-4": { "Symfony\\Component\\OptionsResolver\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Fabien Potencier", "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Symfony OptionsResolver Component", "homepage": "https://symfony.com", "keywords": [ "config", "configuration", "options" ], "time": "2019-06-13T11:01:17+00:00" }, { "name": "symfony/polyfill-ctype", "version": "v1.10.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", "reference": "e3d826245268269cd66f8326bd8bc066687b4a19" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/e3d826245268269cd66f8326bd8bc066687b4a19", "reference": "e3d826245268269cd66f8326bd8bc066687b4a19", "shasum": "" }, "require": { "php": ">=5.3.3" }, "suggest": { "ext-ctype": "For best performance" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.9-dev" } }, "autoload": { "psr-4": { "Symfony\\Polyfill\\Ctype\\": "" }, "files": [ "bootstrap.php" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" }, { "name": "Gert de Pagter", "email": "BackEndTea@gmail.com" } ], "description": "Symfony polyfill for ctype functions", "homepage": "https://symfony.com", "keywords": [ "compatibility", "ctype", "polyfill", "portable" ], "time": "2018-08-06T14:22:27+00:00" }, { "name": "symfony/polyfill-mbstring", "version": "v1.10.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", "reference": "c79c051f5b3a46be09205c73b80b346e4153e494" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/c79c051f5b3a46be09205c73b80b346e4153e494", "reference": "c79c051f5b3a46be09205c73b80b346e4153e494", "shasum": "" }, "require": { "php": ">=5.3.3" }, "suggest": { "ext-mbstring": "For best performance" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.9-dev" } }, "autoload": { "psr-4": { "Symfony\\Polyfill\\Mbstring\\": "" }, "files": [ "bootstrap.php" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Nicolas Grekas", "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Symfony polyfill for the Mbstring extension", "homepage": "https://symfony.com", "keywords": [ "compatibility", "mbstring", "polyfill", "portable", "shim" ], "time": "2018-09-21T13:07:52+00:00" }, { "name": "symfony/polyfill-php56", "version": "v1.10.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php56.git", "reference": "ff208829fe1aa48ab9af356992bb7199fed551af" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/ff208829fe1aa48ab9af356992bb7199fed551af", "reference": "ff208829fe1aa48ab9af356992bb7199fed551af", "shasum": "" }, "require": { "php": ">=5.3.3", "symfony/polyfill-util": "~1.0" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.9-dev" } }, "autoload": { "psr-4": { "Symfony\\Polyfill\\Php56\\": "" }, "files": [ "bootstrap.php" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Nicolas Grekas", "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Symfony polyfill backporting some PHP 5.6+ features to lower PHP versions", "homepage": "https://symfony.com", "keywords": [ "compatibility", "polyfill", "portable", "shim" ], "time": "2018-09-21T06:26:08+00:00" }, { "name": "symfony/polyfill-php72", "version": "v1.10.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php72.git", "reference": "9050816e2ca34a8e916c3a0ae8b9c2fccf68b631" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/9050816e2ca34a8e916c3a0ae8b9c2fccf68b631", "reference": "9050816e2ca34a8e916c3a0ae8b9c2fccf68b631", "shasum": "" }, "require": { "php": ">=5.3.3" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.9-dev" } }, "autoload": { "psr-4": { "Symfony\\Polyfill\\Php72\\": "" }, "files": [ "bootstrap.php" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Nicolas Grekas", "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", "homepage": "https://symfony.com", "keywords": [ "compatibility", "polyfill", "portable", "shim" ], "time": "2018-09-21T13:07:52+00:00" }, { "name": "symfony/polyfill-util", "version": "v1.10.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-util.git", "reference": "3b58903eae668d348a7126f999b0da0f2f93611c" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/polyfill-util/zipball/3b58903eae668d348a7126f999b0da0f2f93611c", "reference": "3b58903eae668d348a7126f999b0da0f2f93611c", "shasum": "" }, "require": { "php": ">=5.3.3" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.9-dev" } }, "autoload": { "psr-4": { "Symfony\\Polyfill\\Util\\": "" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Nicolas Grekas", "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Symfony utilities for portability of PHP codes", "homepage": "https://symfony.com", "keywords": [ "compat", "compatibility", "polyfill", "shim" ], "time": "2018-09-30T16:36:12+00:00" }, { "name": "symfony/process", "version": "v4.1.8", "source": { "type": "git", "url": "https://github.com/symfony/process.git", "reference": "471f6e24172366a97365baaae588ddaafbba9b20" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/process/zipball/471f6e24172366a97365baaae588ddaafbba9b20", "reference": "471f6e24172366a97365baaae588ddaafbba9b20", "shasum": "" }, "require": { "php": "^7.1.3" }, "type": "library", "extra": { "branch-alias": { "dev-master": "4.1-dev" } }, "autoload": { "psr-4": { "Symfony\\Component\\Process\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Fabien Potencier", "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Symfony Process Component", "homepage": "https://symfony.com", "time": "2018-11-20T16:14:00+00:00" }, { "name": "symfony/routing", "version": "v4.1.8", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", "reference": "eebc037d45c253af2349c5b25a2d0531a732efdc" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/routing/zipball/eebc037d45c253af2349c5b25a2d0531a732efdc", "reference": "eebc037d45c253af2349c5b25a2d0531a732efdc", "shasum": "" }, "require": { "php": "^7.1.3" }, "conflict": { "symfony/config": "<3.4", "symfony/dependency-injection": "<3.4", "symfony/yaml": "<3.4" }, "require-dev": { "doctrine/annotations": "~1.0", "psr/log": "~1.0", "symfony/config": "~3.4|~4.0", "symfony/dependency-injection": "~3.4|~4.0", "symfony/expression-language": "~3.4|~4.0", "symfony/http-foundation": "~3.4|~4.0", "symfony/yaml": "~3.4|~4.0" }, "suggest": { "doctrine/annotations": "For using the annotation loader", "symfony/config": "For using the all-in-one router or any loader", "symfony/dependency-injection": "For loading routes from a service", "symfony/expression-language": "For using expression matching", "symfony/http-foundation": "For using a Symfony Request object", "symfony/yaml": "For using the YAML loader" }, "type": "library", "extra": { "branch-alias": { "dev-master": "4.1-dev" } }, "autoload": { "psr-4": { "Symfony\\Component\\Routing\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Fabien Potencier", "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Symfony Routing Component", "homepage": "https://symfony.com", "keywords": [ "router", "routing", "uri", "url" ], "time": "2018-11-26T10:24:14+00:00" }, { "name": "symfony/translation", "version": "v4.1.8", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", "reference": "615e3cf75d00a7d6788316d9631957991ba9c26a" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/translation/zipball/615e3cf75d00a7d6788316d9631957991ba9c26a", "reference": "615e3cf75d00a7d6788316d9631957991ba9c26a", "shasum": "" }, "require": { "php": "^7.1.3", "symfony/polyfill-mbstring": "~1.0" }, "conflict": { "symfony/config": "<3.4", "symfony/dependency-injection": "<3.4", "symfony/yaml": "<3.4" }, "require-dev": { "psr/log": "~1.0", "symfony/config": "~3.4|~4.0", "symfony/console": "~3.4|~4.0", "symfony/dependency-injection": "~3.4|~4.0", "symfony/finder": "~2.8|~3.0|~4.0", "symfony/intl": "~3.4|~4.0", "symfony/yaml": "~3.4|~4.0" }, "suggest": { "psr/log-implementation": "To use logging capability in translator", "symfony/config": "", "symfony/yaml": "" }, "type": "library", "extra": { "branch-alias": { "dev-master": "4.1-dev" } }, "autoload": { "psr-4": { "Symfony\\Component\\Translation\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Fabien Potencier", "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Symfony Translation Component", "homepage": "https://symfony.com", "time": "2018-11-26T10:26:29+00:00" }, { "name": "symfony/var-dumper", "version": "v4.1.8", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", "reference": "42a55e4a4a7421124636f6f15845187704be0423" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/var-dumper/zipball/42a55e4a4a7421124636f6f15845187704be0423", "reference": "42a55e4a4a7421124636f6f15845187704be0423", "shasum": "" }, "require": { "php": "^7.1.3", "symfony/polyfill-mbstring": "~1.0", "symfony/polyfill-php72": "~1.5" }, "conflict": { "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0", "symfony/console": "<3.4" }, "require-dev": { "ext-iconv": "*", "symfony/process": "~3.4|~4.0", "twig/twig": "~1.34|~2.4" }, "suggest": { "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", "ext-intl": "To show region name in time zone dump", "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script" }, "bin": [ "Resources/bin/var-dump-server" ], "type": "library", "extra": { "branch-alias": { "dev-master": "4.1-dev" } }, "autoload": { "files": [ "Resources/functions/dump.php" ], "psr-4": { "Symfony\\Component\\VarDumper\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Nicolas Grekas", "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Symfony mechanism for exploring and dumping PHP variables", "homepage": "https://symfony.com", "keywords": [ "debug", "dump" ], "time": "2018-11-20T16:14:00+00:00" }, { "name": "symfony/yaml", "version": "v3.4.19", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", "reference": "291e13d808bec481eab83f301f7bff3e699ef603" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/yaml/zipball/291e13d808bec481eab83f301f7bff3e699ef603", "reference": "291e13d808bec481eab83f301f7bff3e699ef603", "shasum": "" }, "require": { "php": "^5.5.9|>=7.0.8", "symfony/polyfill-ctype": "~1.8" }, "conflict": { "symfony/console": "<3.4" }, "require-dev": { "symfony/console": "~3.4|~4.0" }, "suggest": { "symfony/console": "For validating YAML files using the lint command" }, "type": "library", "extra": { "branch-alias": { "dev-master": "3.4-dev" } }, "autoload": { "psr-4": { "Symfony\\Component\\Yaml\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Fabien Potencier", "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Symfony Yaml Component", "homepage": "https://symfony.com", "time": "2018-11-11T19:48:54+00:00" }, { "name": "tamayo/laravel-scout-elastic", "version": "5.0.0", "source": { "type": "git", "url": "https://github.com/ErickTamayo/laravel-scout-elastic.git", "reference": "c300b9b265777479284df7ff50944247eab1d0ef" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/ErickTamayo/laravel-scout-elastic/zipball/c300b9b265777479284df7ff50944247eab1d0ef", "reference": "c300b9b265777479284df7ff50944247eab1d0ef", "shasum": "" }, "require": { "elasticsearch/elasticsearch": "^5.0", "laravel/scout": "^5.0|^6.0|^7.0", "php": ">=5.6.4" }, "require-dev": { "fzaninotto/faker": "~1.4", "mockery/mockery": "0.9.*", "phpunit/phpunit": "~5.0" }, "suggest": { "elasticsearch/elasticsearch": "Required to use the Elasticsearch engine (^5.0)." }, "type": "library", "extra": { "laravel": { "providers": [ "ScoutEngines\\Elasticsearch\\ElasticsearchProvider" ] } }, "autoload": { "psr-4": { "ScoutEngines\\Elasticsearch\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "description": "Elastic Driver for Laravel Scout", "keywords": [ "elastic", "elasticsearch", "laravel", "scout" ], "time": "2019-05-14T14:12:07+00:00" }, { "name": "tijsverkoyen/css-to-inline-styles", "version": "2.2.1", "source": { "type": "git", "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", "reference": "0ed4a2ea4e0902dac0489e6436ebcd5bbcae9757" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/0ed4a2ea4e0902dac0489e6436ebcd5bbcae9757", "reference": "0ed4a2ea4e0902dac0489e6436ebcd5bbcae9757", "shasum": "" }, "require": { "php": "^5.5 || ^7.0", "symfony/css-selector": "^2.7 || ^3.0 || ^4.0" }, "require-dev": { "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" }, "type": "library", "extra": { "branch-alias": { "dev-master": "2.2.x-dev" } }, "autoload": { "psr-4": { "TijsVerkoyen\\CssToInlineStyles\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Tijs Verkoyen", "email": "css_to_inline_styles@verkoyen.eu", "role": "Developer" } ], "description": "CssToInlineStyles is a class that enables you to convert HTML-pages/files into HTML-pages/files with inline styles. This is very useful when you're sending emails.", "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles", "time": "2017-11-27T11:13:29+00:00" }, { "name": "tymon/jwt-auth", "version": "dev-develop", "source": { "type": "git", "url": "https://github.com/tymondesigns/jwt-auth.git", "reference": "689fcc263f6c4f650057905ae6dce441879df19b" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/tymondesigns/jwt-auth/zipball/689fcc263f6c4f650057905ae6dce441879df19b", "reference": "689fcc263f6c4f650057905ae6dce441879df19b", "shasum": "" }, "require": { "illuminate/auth": "5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.* || 5.7.*", "illuminate/contracts": "5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.* || 5.7.*", "illuminate/http": "5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.* || 5.7.*", "illuminate/support": "5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.* || 5.7.*", "lcobucci/jwt": "^3.2", "namshi/jose": "^7.0", "nesbot/carbon": "^1.0", "php": "^5.5.9 || ^7.0" }, "require-dev": { "cartalyst/sentinel": "2.0.*", "illuminate/console": "5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.* || 5.7.*", "illuminate/database": "5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.* || 5.7.*", "illuminate/routing": "5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.* || 5.7.*", "mockery/mockery": ">=0.9.9", "phpunit/phpunit": "~4.8 || ~6.0" }, "type": "library", "extra": { "branch-alias": { "dev-develop": "1.0-dev" }, "laravel": { "aliases": { "JWTAuth": "Tymon\\JWTAuth\\Facades\\JWTAuth", "JWTFactory": "Tymon\\JWTAuth\\Facades\\JWTFactory" }, "providers": [ "Tymon\\JWTAuth\\Providers\\LaravelServiceProvider" ] } }, "autoload": { "psr-4": { "Tymon\\JWTAuth\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Sean Tymon", "email": "tymon148@gmail.com", "homepage": "https://tymon.xyz", "role": "Developer" } ], "description": "JSON Web Token Authentication for Laravel and Lumen", "homepage": "https://github.com/tymondesigns/jwt-auth", "keywords": [ "Authentication", "JSON Web Token", "auth", "jwt", "laravel" ], "time": "2018-10-17T13:25:54+00:00" }, { "name": "venturecraft/revisionable", "version": "1.28.0", "source": { "type": "git", "url": "https://github.com/VentureCraft/revisionable.git", "reference": "5a76d29b897d4864cef41c605e7e03258dd5d051" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/VentureCraft/revisionable/zipball/5a76d29b897d4864cef41c605e7e03258dd5d051", "reference": "5a76d29b897d4864cef41c605e7e03258dd5d051", "shasum": "" }, "require": { "illuminate/support": "~4.0|~5.0|~5.1", "php": ">=5.3.0" }, "type": "library", "autoload": { "classmap": [ "src/migrations" ], "psr-0": { "Venturecraft\\Revisionable": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Chris Duell", "email": "me@chrisduell.com" } ], "description": "Keep a revision history for your models without thinking, created as a package for use with Laravel", "homepage": "http://github.com/venturecraft/revisionable", "keywords": [ "ardent", "history", "laravel", "model", "revision" ], "time": "2016-08-02T02:32:00+00:00" }, { "name": "vlucas/phpdotenv", "version": "v2.5.1", "source": { "type": "git", "url": "https://github.com/vlucas/phpdotenv.git", "reference": "8abb4f9aa89ddea9d52112c65bbe8d0125e2fa8e" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/8abb4f9aa89ddea9d52112c65bbe8d0125e2fa8e", "reference": "8abb4f9aa89ddea9d52112c65bbe8d0125e2fa8e", "shasum": "" }, "require": { "php": ">=5.3.9" }, "require-dev": { "phpunit/phpunit": "^4.8.35 || ^5.0" }, "type": "library", "extra": { "branch-alias": { "dev-master": "2.5-dev" } }, "autoload": { "psr-4": { "Dotenv\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Vance Lucas", "email": "vance@vancelucas.com", "homepage": "http://www.vancelucas.com" } ], "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", "keywords": [ "dotenv", "env", "environment" ], "time": "2018-07-29T20:33:41+00:00" }, { "name": "ybr-nx/laravel-mariadb", "version": "1.0.18", "source": { "type": "git", "url": "https://github.com/ybr-nx/laravel-mariadb.git", "reference": "521b48e67cf08d6506835f36a0393c44ff06faf2" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/ybr-nx/laravel-mariadb/zipball/521b48e67cf08d6506835f36a0393c44ff06faf2", "reference": "521b48e67cf08d6506835f36a0393c44ff06faf2", "shasum": "" }, "require": { "illuminate/database": "5.3.*|5.4.*|5.5.*|5.6.*|5.7.*" }, "type": "library", "extra": { "laravel": { "providers": [ "YbrNX\\MariaDB\\MariaDBServiceProvider" ] } }, "autoload": { "psr-4": { "YbrNX\\MariaDB\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "EUPL-1.2" ], "authors": [ { "name": "Ingmar Aasoja", "email": "ingmar@aasoja.ee" } ], "description": "Add MariaDB JSON select support to Laravel", "keywords": [ "database", "json", "laravel", "mariadb" ], "time": "2018-12-16T17:44:26+00:00" }, { "name": "zendframework/zend-diactoros", "version": "2.1.2", "source": { "type": "git", "url": "https://github.com/zendframework/zend-diactoros.git", "reference": "37bf68b428850ee26ed7c3be6c26236dd95a95f1" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/zendframework/zend-diactoros/zipball/37bf68b428850ee26ed7c3be6c26236dd95a95f1", "reference": "37bf68b428850ee26ed7c3be6c26236dd95a95f1", "shasum": "" }, "require": { "php": "^7.1", "psr/http-factory": "^1.0", "psr/http-message": "^1.0" }, "provide": { "psr/http-factory-implementation": "1.0", "psr/http-message-implementation": "1.0" }, "require-dev": { "ext-dom": "*", "ext-libxml": "*", "http-interop/http-factory-tests": "^0.5.0", "php-http/psr7-integration-tests": "dev-master", "phpunit/phpunit": "^7.0.2", "zendframework/zend-coding-standard": "~1.0.0" }, "type": "library", "extra": { "branch-alias": { "dev-master": "2.1.x-dev", "dev-develop": "2.2.x-dev", "dev-release-1.8": "1.8.x-dev" } }, "autoload": { "files": [ "src/functions/create_uploaded_file.php", "src/functions/marshal_headers_from_sapi.php", "src/functions/marshal_method_from_sapi.php", "src/functions/marshal_protocol_version_from_sapi.php", "src/functions/marshal_uri_from_sapi.php", "src/functions/normalize_server.php", "src/functions/normalize_uploaded_files.php", "src/functions/parse_cookie_header.php" ], "psr-4": { "Zend\\Diactoros\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "description": "PSR HTTP Message implementations", "keywords": [ "http", "psr", "psr-7" ], "time": "2019-04-29T21:11:00+00:00" } ], "packages-dev": [ { "name": "backpack/generators", "version": "1.1.13", "source": { "type": "git", "url": "https://github.com/Laravel-Backpack/Generators.git", "reference": "fca62160c8d00e36a96ac4002100de13440eeae1" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/Laravel-Backpack/Generators/zipball/fca62160c8d00e36a96ac4002100de13440eeae1", "reference": "fca62160c8d00e36a96ac4002100de13440eeae1", "shasum": "" }, "require": { "illuminate/console": ">=5.1", "illuminate/support": ">=5.1", "php": ">=5.5.0" }, "require-dev": { "phpunit/phpunit": "4.*", "scrutinizer/ocular": "~1.1" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.0-dev" }, "laravel": { "providers": [ "Backpack\\Generators\\GeneratorsServiceProvider" ] } }, "autoload": { "psr-4": { "Backpack\\Generators\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "proprietary" ], "authors": [ { "name": "Cristian Tone", "email": "cristitone@outlook.com", "homepage": "http://updivision.com", "role": "Developer" } ], "description": "Generate files for laravel projects", "homepage": "https://github.com/laravel-backpack/generators", "keywords": [ "config", "generators", "model", "request", "view" ], "time": "2018-02-13T19:21:53+00:00" }, { "name": "barryvdh/laravel-debugbar", "version": "v3.2.1", "source": { "type": "git", "url": "https://github.com/barryvdh/laravel-debugbar.git", "reference": "9d5caf43c5f3a3aea2178942f281054805872e7c" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/9d5caf43c5f3a3aea2178942f281054805872e7c", "reference": "9d5caf43c5f3a3aea2178942f281054805872e7c", "shasum": "" }, "require": { "illuminate/routing": "5.5.x|5.6.x|5.7.x", "illuminate/session": "5.5.x|5.6.x|5.7.x", "illuminate/support": "5.5.x|5.6.x|5.7.x", "maximebf/debugbar": "~1.15.0", "php": ">=7.0", "symfony/debug": "^3|^4", "symfony/finder": "^3|^4" }, "require-dev": { "laravel/framework": "5.5.x" }, "type": "library", "extra": { "branch-alias": { "dev-master": "3.2-dev" }, "laravel": { "providers": [ "Barryvdh\\Debugbar\\ServiceProvider" ], "aliases": { "Debugbar": "Barryvdh\\Debugbar\\Facade" } } }, "autoload": { "psr-4": { "Barryvdh\\Debugbar\\": "src/" }, "files": [ "src/helpers.php" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Barry vd. Heuvel", "email": "barryvdh@gmail.com" } ], "description": "PHP Debugbar integration for Laravel", "keywords": [ "debug", "debugbar", "laravel", "profiler", "webprofiler" ], "time": "2018-11-09T08:37:55+00:00" }, { "name": "barryvdh/laravel-ide-helper", "version": "v2.5.2", "source": { "type": "git", "url": "https://github.com/barryvdh/laravel-ide-helper.git", "reference": "981ff45b43e0cf808af0a5a5f40f6369e0e29499" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/barryvdh/laravel-ide-helper/zipball/981ff45b43e0cf808af0a5a5f40f6369e0e29499", "reference": "981ff45b43e0cf808af0a5a5f40f6369e0e29499", "shasum": "" }, "require": { "barryvdh/reflection-docblock": "^2.0.4", "composer/composer": "^1.6", "illuminate/console": "^5.5,<5.8", "illuminate/filesystem": "^5.5,<5.8", "illuminate/support": "^5.5,<5.8", "php": ">=7" }, "require-dev": { "doctrine/dbal": "~2.3", "illuminate/config": "^5.1,<5.8", "illuminate/view": "^5.1,<5.8", "phpro/grumphp": "^0.14", "phpunit/phpunit": "4.*", "scrutinizer/ocular": "~1.1", "squizlabs/php_codesniffer": "^3" }, "suggest": { "doctrine/dbal": "Load information from the database about models for phpdocs (~2.3)" }, "type": "library", "extra": { "branch-alias": { "dev-master": "2.5-dev" }, "laravel": { "providers": [ "Barryvdh\\LaravelIdeHelper\\IdeHelperServiceProvider" ] } }, "autoload": { "psr-4": { "Barryvdh\\LaravelIdeHelper\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Barry vd. Heuvel", "email": "barryvdh@gmail.com" } ], "description": "Laravel IDE Helper, generates correct PHPDocs for all Facade classes, to improve auto-completion.", "keywords": [ "autocomplete", "codeintel", "helper", "ide", "laravel", "netbeans", "phpdoc", "phpstorm", "sublime" ], "time": "2018-10-06T09:35:51+00:00" }, { "name": "barryvdh/reflection-docblock", "version": "v2.0.5", "source": { "type": "git", "url": "https://github.com/barryvdh/ReflectionDocBlock.git", "reference": "64165bd4ba9a550d11ea57569463b7c722dc6b0a" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/barryvdh/ReflectionDocBlock/zipball/64165bd4ba9a550d11ea57569463b7c722dc6b0a", "reference": "64165bd4ba9a550d11ea57569463b7c722dc6b0a", "shasum": "" }, "require": { "php": ">=5.3.3" }, "require-dev": { "phpunit/phpunit": "~4.0,<4.5" }, "suggest": { "dflydev/markdown": "~1.0", "erusev/parsedown": "~1.0" }, "type": "library", "extra": { "branch-alias": { "dev-master": "2.0.x-dev" } }, "autoload": { "psr-0": { "Barryvdh": [ "src/" ] } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Mike van Riel", "email": "mike.vanriel@naenius.com" } ], "time": "2018-10-25T19:09:52+00:00" }, { "name": "beyondcode/laravel-dump-server", "version": "1.3.0", "source": { "type": "git", "url": "https://github.com/beyondcode/laravel-dump-server.git", "reference": "fcc88fa66895f8c1ff83f6145a5eff5fa2a0739a" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/beyondcode/laravel-dump-server/zipball/fcc88fa66895f8c1ff83f6145a5eff5fa2a0739a", "reference": "fcc88fa66895f8c1ff83f6145a5eff5fa2a0739a", "shasum": "" }, "require": { "illuminate/console": "5.6.*|5.7.*|5.8.*|^6.0", "illuminate/http": "5.6.*|5.7.*|5.8.*|^6.0", "illuminate/support": "5.6.*|5.7.*|5.8.*|^6.0", "php": "^7.1", "symfony/var-dumper": "^4.1.1" }, "require-dev": { "larapack/dd": "^1.0", "phpunit/phpunit": "^7.0" }, "type": "library", "extra": { "laravel": { "providers": [ "BeyondCode\\DumpServer\\DumpServerServiceProvider" ] } }, "autoload": { "psr-4": { "BeyondCode\\DumpServer\\": "src" }, "files": [ "helpers.php" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Marcel Pociot", "email": "marcel@beyondco.de", "homepage": "https://beyondco.de", "role": "Developer" } ], "description": "Symfony Var-Dump Server for Laravel", "homepage": "https://github.com/beyondcode/laravel-dump-server", "keywords": [ "beyondcode", "laravel-dump-server" ], "time": "2019-08-11T13:17:40+00:00" }, { "name": "composer/ca-bundle", "version": "1.1.3", "source": { "type": "git", "url": "https://github.com/composer/ca-bundle.git", "reference": "8afa52cd417f4ec417b4bfe86b68106538a87660" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/composer/ca-bundle/zipball/8afa52cd417f4ec417b4bfe86b68106538a87660", "reference": "8afa52cd417f4ec417b4bfe86b68106538a87660", "shasum": "" }, "require": { "ext-openssl": "*", "ext-pcre": "*", "php": "^5.3.2 || ^7.0" }, "require-dev": { "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5", "psr/log": "^1.0", "symfony/process": "^2.5 || ^3.0 || ^4.0" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.x-dev" } }, "autoload": { "psr-4": { "Composer\\CaBundle\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Jordi Boggiano", "email": "j.boggiano@seld.be", "homepage": "http://seld.be" } ], "description": "Lets you find a path to the system CA bundle, and includes a fallback to the Mozilla CA bundle.", "keywords": [ "cabundle", "cacert", "certificate", "ssl", "tls" ], "time": "2018-10-18T06:09:13+00:00" }, { "name": "composer/composer", "version": "1.7.3", "source": { "type": "git", "url": "https://github.com/composer/composer.git", "reference": "e965b9aaa8854c3067f1ed2ae45f436572d73eb7" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/composer/composer/zipball/e965b9aaa8854c3067f1ed2ae45f436572d73eb7", "reference": "e965b9aaa8854c3067f1ed2ae45f436572d73eb7", "shasum": "" }, "require": { "composer/ca-bundle": "^1.0", "composer/semver": "^1.0", "composer/spdx-licenses": "^1.2", "composer/xdebug-handler": "^1.1", "justinrainbow/json-schema": "^3.0 || ^4.0 || ^5.0", "php": "^5.3.2 || ^7.0", "psr/log": "^1.0", "seld/jsonlint": "^1.4", "seld/phar-utils": "^1.0", "symfony/console": "^2.7 || ^3.0 || ^4.0", "symfony/filesystem": "^2.7 || ^3.0 || ^4.0", "symfony/finder": "^2.7 || ^3.0 || ^4.0", "symfony/process": "^2.7 || ^3.0 || ^4.0" }, "conflict": { "symfony/console": "2.8.38" }, "require-dev": { "phpunit/phpunit": "^4.8.35 || ^5.7", "phpunit/phpunit-mock-objects": "^2.3 || ^3.0" }, "suggest": { "ext-openssl": "Enabling the openssl extension allows you to access https URLs for repositories and packages", "ext-zip": "Enabling the zip extension allows you to unzip archives", "ext-zlib": "Allow gzip compression of HTTP requests" }, "bin": [ "bin/composer" ], "type": "library", "extra": { "branch-alias": { "dev-master": "1.7-dev" } }, "autoload": { "psr-4": { "Composer\\": "src/Composer" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Nils Adermann", "email": "naderman@naderman.de", "homepage": "http://www.naderman.de" }, { "name": "Jordi Boggiano", "email": "j.boggiano@seld.be", "homepage": "http://seld.be" } ], "description": "Composer helps you declare, manage and install dependencies of PHP projects, ensuring you have the right stack everywhere.", "homepage": "https://getcomposer.org/", "keywords": [ "autoload", "dependency", "package" ], "time": "2018-11-01T09:05:06+00:00" }, { "name": "composer/semver", "version": "1.4.2", "source": { "type": "git", "url": "https://github.com/composer/semver.git", "reference": "c7cb9a2095a074d131b65a8a0cd294479d785573" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/composer/semver/zipball/c7cb9a2095a074d131b65a8a0cd294479d785573", "reference": "c7cb9a2095a074d131b65a8a0cd294479d785573", "shasum": "" }, "require": { "php": "^5.3.2 || ^7.0" }, "require-dev": { "phpunit/phpunit": "^4.5 || ^5.0.5", "phpunit/phpunit-mock-objects": "2.3.0 || ^3.0" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.x-dev" } }, "autoload": { "psr-4": { "Composer\\Semver\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Nils Adermann", "email": "naderman@naderman.de", "homepage": "http://www.naderman.de" }, { "name": "Jordi Boggiano", "email": "j.boggiano@seld.be", "homepage": "http://seld.be" }, { "name": "Rob Bast", "email": "rob.bast@gmail.com", "homepage": "http://robbast.nl" } ], "description": "Semver library that offers utilities, version constraint parsing and validation.", "keywords": [ "semantic", "semver", "validation", "versioning" ], "time": "2016-08-30T16:08:34+00:00" }, { "name": "composer/spdx-licenses", "version": "1.5.0", "source": { "type": "git", "url": "https://github.com/composer/spdx-licenses.git", "reference": "7a9556b22bd9d4df7cad89876b00af58ef20d3a2" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/composer/spdx-licenses/zipball/7a9556b22bd9d4df7cad89876b00af58ef20d3a2", "reference": "7a9556b22bd9d4df7cad89876b00af58ef20d3a2", "shasum": "" }, "require": { "php": "^5.3.2 || ^7.0" }, "require-dev": { "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5", "phpunit/phpunit-mock-objects": "2.3.0 || ^3.0" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.x-dev" } }, "autoload": { "psr-4": { "Composer\\Spdx\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Nils Adermann", "email": "naderman@naderman.de", "homepage": "http://www.naderman.de" }, { "name": "Jordi Boggiano", "email": "j.boggiano@seld.be", "homepage": "http://seld.be" }, { "name": "Rob Bast", "email": "rob.bast@gmail.com", "homepage": "http://robbast.nl" } ], "description": "SPDX licenses list and validation library.", "keywords": [ "license", "spdx", "validator" ], "time": "2018-11-01T09:45:54+00:00" }, { "name": "composer/xdebug-handler", "version": "1.3.0", "source": { "type": "git", "url": "https://github.com/composer/xdebug-handler.git", "reference": "b8e9745fb9b06ea6664d8872c4505fb16df4611c" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/b8e9745fb9b06ea6664d8872c4505fb16df4611c", "reference": "b8e9745fb9b06ea6664d8872c4505fb16df4611c", "shasum": "" }, "require": { "php": "^5.3.2 || ^7.0", "psr/log": "^1.0" }, "require-dev": { "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5" }, "type": "library", "autoload": { "psr-4": { "Composer\\XdebugHandler\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "John Stevenson", "email": "john-stevenson@blueyonder.co.uk" } ], "description": "Restarts a process without xdebug.", "keywords": [ "Xdebug", "performance" ], "time": "2018-08-31T19:07:57+00:00" }, { "name": "defuse/php-encryption", "version": "v2.2.1", "source": { "type": "git", "url": "https://github.com/defuse/php-encryption.git", "reference": "0f407c43b953d571421e0020ba92082ed5fb7620" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/defuse/php-encryption/zipball/0f407c43b953d571421e0020ba92082ed5fb7620", "reference": "0f407c43b953d571421e0020ba92082ed5fb7620", "shasum": "" }, "require": { "ext-openssl": "*", "paragonie/random_compat": ">= 2", "php": ">=5.4.0" }, "require-dev": { "nikic/php-parser": "^2.0|^3.0|^4.0", "phpunit/phpunit": "^4|^5" }, "bin": [ "bin/generate-defuse-key" ], "type": "library", "autoload": { "psr-4": { "Defuse\\Crypto\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Taylor Hornby", "email": "taylor@defuse.ca", "homepage": "https://defuse.ca/" }, { "name": "Scott Arciszewski", "email": "info@paragonie.com", "homepage": "https://paragonie.com" } ], "description": "Secure PHP Encryption Library", "keywords": [ "aes", "authenticated encryption", "cipher", "crypto", "cryptography", "encrypt", "encryption", "openssl", "security", "symmetric key cryptography" ], "time": "2018-07-24T23:27:56+00:00" }, { "name": "doctrine/instantiator", "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/doctrine/instantiator.git", "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/doctrine/instantiator/zipball/185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda", "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda", "shasum": "" }, "require": { "php": "^7.1" }, "require-dev": { "athletic/athletic": "~0.1.8", "ext-pdo": "*", "ext-phar": "*", "phpunit/phpunit": "^6.2.3", "squizlabs/php_codesniffer": "^3.0.2" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.2.x-dev" } }, "autoload": { "psr-4": { "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Marco Pivetta", "email": "ocramius@gmail.com", "homepage": "http://ocramius.github.com/" } ], "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", "homepage": "https://github.com/doctrine/instantiator", "keywords": [ "constructor", "instantiate" ], "time": "2017-07-22T11:58:36+00:00" }, { "name": "filp/whoops", "version": "2.3.1", "source": { "type": "git", "url": "https://github.com/filp/whoops.git", "reference": "bc0fd11bc455cc20ee4b5edabc63ebbf859324c7" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/filp/whoops/zipball/bc0fd11bc455cc20ee4b5edabc63ebbf859324c7", "reference": "bc0fd11bc455cc20ee4b5edabc63ebbf859324c7", "shasum": "" }, "require": { "php": "^5.5.9 || ^7.0", "psr/log": "^1.0.1" }, "require-dev": { "mockery/mockery": "^0.9 || ^1.0", "phpunit/phpunit": "^4.8.35 || ^5.7", "symfony/var-dumper": "^2.6 || ^3.0 || ^4.0" }, "suggest": { "symfony/var-dumper": "Pretty print complex values better with var-dumper available", "whoops/soap": "Formats errors as SOAP responses" }, "type": "library", "extra": { "branch-alias": { "dev-master": "2.2-dev" } }, "autoload": { "psr-4": { "Whoops\\": "src/Whoops/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Filipe Dobreira", "homepage": "https://github.com/filp", "role": "Developer" } ], "description": "php error handling for cool kids", "homepage": "https://filp.github.io/whoops/", "keywords": [ "error", "exception", "handling", "library", "throwable", "whoops" ], "time": "2018-10-23T09:00:00+00:00" }, { "name": "firebase/php-jwt", "version": "v5.0.0", "source": { "type": "git", "url": "https://github.com/firebase/php-jwt.git", "reference": "9984a4d3a32ae7673d6971ea00bae9d0a1abba0e" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/firebase/php-jwt/zipball/9984a4d3a32ae7673d6971ea00bae9d0a1abba0e", "reference": "9984a4d3a32ae7673d6971ea00bae9d0a1abba0e", "shasum": "" }, "require": { "php": ">=5.3.0" }, "require-dev": { "phpunit/phpunit": " 4.8.35" }, "type": "library", "autoload": { "psr-4": { "Firebase\\JWT\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Neuman Vong", "email": "neuman+pear@twilio.com", "role": "Developer" }, { "name": "Anant Narayanan", "email": "anant@php.net", "role": "Developer" } ], "description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.", "homepage": "https://github.com/firebase/php-jwt", "time": "2017-06-27T22:17:23+00:00" }, { "name": "fzaninotto/faker", "version": "v1.8.0", "source": { "type": "git", "url": "https://github.com/fzaninotto/Faker.git", "reference": "f72816b43e74063c8b10357394b6bba8cb1c10de" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/f72816b43e74063c8b10357394b6bba8cb1c10de", "reference": "f72816b43e74063c8b10357394b6bba8cb1c10de", "shasum": "" }, "require": { "php": "^5.3.3 || ^7.0" }, "require-dev": { "ext-intl": "*", "phpunit/phpunit": "^4.8.35 || ^5.7", "squizlabs/php_codesniffer": "^1.5" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.8-dev" } }, "autoload": { "psr-4": { "Faker\\": "src/Faker/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "François Zaninotto" } ], "description": "Faker is a PHP library that generates fake data for you.", "keywords": [ "data", "faker", "fixtures" ], "time": "2018-07-12T10:23:15+00:00" }, { "name": "hamcrest/hamcrest-php", "version": "v2.0.0", "source": { "type": "git", "url": "https://github.com/hamcrest/hamcrest-php.git", "reference": "776503d3a8e85d4f9a1148614f95b7a608b046ad" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/776503d3a8e85d4f9a1148614f95b7a608b046ad", "reference": "776503d3a8e85d4f9a1148614f95b7a608b046ad", "shasum": "" }, "require": { "php": "^5.3|^7.0" }, "replace": { "cordoval/hamcrest-php": "*", "davedevelopment/hamcrest-php": "*", "kodova/hamcrest-php": "*" }, "require-dev": { "phpunit/php-file-iterator": "1.3.3", "phpunit/phpunit": "~4.0", "satooshi/php-coveralls": "^1.0" }, "type": "library", "extra": { "branch-alias": { "dev-master": "2.0-dev" } }, "autoload": { "classmap": [ "hamcrest" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD" ], "description": "This is the PHP port of Hamcrest Matchers", "keywords": [ "test" ], "time": "2016-01-20T08:20:44+00:00" }, { "name": "justinrainbow/json-schema", "version": "5.2.7", "source": { "type": "git", "url": "https://github.com/justinrainbow/json-schema.git", "reference": "8560d4314577199ba51bf2032f02cd1315587c23" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/8560d4314577199ba51bf2032f02cd1315587c23", "reference": "8560d4314577199ba51bf2032f02cd1315587c23", "shasum": "" }, "require": { "php": ">=5.3.3" }, "require-dev": { "friendsofphp/php-cs-fixer": "^2.1", "json-schema/json-schema-test-suite": "1.2.0", "phpunit/phpunit": "^4.8.35" }, "bin": [ "bin/validate-json" ], "type": "library", "extra": { "branch-alias": { "dev-master": "5.0.x-dev" } }, "autoload": { "psr-4": { "JsonSchema\\": "src/JsonSchema/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Bruno Prieto Reis", "email": "bruno.p.reis@gmail.com" }, { "name": "Justin Rainbow", "email": "justin.rainbow@gmail.com" }, { "name": "Igor Wiedler", "email": "igor@wiedler.ch" }, { "name": "Robert Schönthal", "email": "seroscho@googlemail.com" } ], "description": "A library to validate a json schema.", "homepage": "https://github.com/justinrainbow/json-schema", "keywords": [ "json", "schema" ], "time": "2018-02-14T22:26:30+00:00" }, { "name": "laracasts/generators", "version": "dev-master", "source": { "type": "git", "url": "https://github.com/laracasts/Laravel-5-Generators-Extended.git", "reference": "9c6066252b9181b61e0ab6f5361fbf508bc78313" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/laracasts/Laravel-5-Generators-Extended/zipball/9c6066252b9181b61e0ab6f5361fbf508bc78313", "reference": "9c6066252b9181b61e0ab6f5361fbf508bc78313", "shasum": "" }, "require": { "illuminate/support": "~5.0", "php": ">=5.4.0" }, "require-dev": { "phpspec/phpspec": "~2.1" }, "type": "library", "extra": { "laravel": { "providers": [ "Laracasts\\Generators\\GeneratorsServiceProvider" ] } }, "autoload": { "psr-4": { "Laracasts\\Generators\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Jeffrey Way", "email": "jeffrey@laracasts.com" } ], "description": "Extend Laravel 5's generators.", "keywords": [ "generators", "laravel" ], "time": "2018-05-07T06:29:34+00:00" }, { "name": "laravel/passport", "version": "v7.5.1", "source": { "type": "git", "url": "https://github.com/laravel/passport.git", "reference": "d63cdd672c3d65b3c35b73d0ef13a9dbfcb71c08" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/laravel/passport/zipball/d63cdd672c3d65b3c35b73d0ef13a9dbfcb71c08", "reference": "d63cdd672c3d65b3c35b73d0ef13a9dbfcb71c08", "shasum": "" }, "require": { "ext-json": "*", "firebase/php-jwt": "~3.0|~4.0|~5.0", "guzzlehttp/guzzle": "~6.0", "illuminate/auth": "~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0", "illuminate/console": "~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0", "illuminate/container": "~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0", "illuminate/contracts": "~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0", "illuminate/cookie": "~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0", "illuminate/database": "~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0", "illuminate/encryption": "~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0", "illuminate/http": "~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0", "illuminate/support": "~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0", "league/oauth2-server": "^7.0", "php": ">=7.1", "phpseclib/phpseclib": "^2.0", "symfony/psr-http-message-bridge": "~1.0", "zendframework/zend-diactoros": "~1.0|~2.0" }, "require-dev": { "mockery/mockery": "^1.0", "phpunit/phpunit": "^7.4|^8.0" }, "type": "library", "extra": { "branch-alias": { "dev-master": "7.0-dev" }, "laravel": { "providers": [ "Laravel\\Passport\\PassportServiceProvider" ] } }, "autoload": { "psr-4": { "Laravel\\Passport\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Taylor Otwell", "email": "taylor@laravel.com" } ], "description": "Laravel Passport provides OAuth2 server support to Laravel.", "keywords": [ "laravel", "oauth", "passport" ], "time": "2019-10-08T16:45:24+00:00" }, { "name": "league/event", "version": "2.2.0", "source": { "type": "git", "url": "https://github.com/thephpleague/event.git", "reference": "d2cc124cf9a3fab2bb4ff963307f60361ce4d119" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/thephpleague/event/zipball/d2cc124cf9a3fab2bb4ff963307f60361ce4d119", "reference": "d2cc124cf9a3fab2bb4ff963307f60361ce4d119", "shasum": "" }, "require": { "php": ">=5.4.0" }, "require-dev": { "henrikbjorn/phpspec-code-coverage": "~1.0.1", "phpspec/phpspec": "^2.2" }, "type": "library", "extra": { "branch-alias": { "dev-master": "2.2-dev" } }, "autoload": { "psr-4": { "League\\Event\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Frank de Jonge", "email": "info@frenky.net" } ], "description": "Event package", "keywords": [ "emitter", "event", "listener" ], "time": "2018-11-26T11:52:41+00:00" }, { "name": "league/oauth2-server", "version": "7.4.0", "source": { "type": "git", "url": "https://github.com/thephpleague/oauth2-server.git", "reference": "2eb1cf79e59d807d89c256e7ac5e2bf8bdbd4acf" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/thephpleague/oauth2-server/zipball/2eb1cf79e59d807d89c256e7ac5e2bf8bdbd4acf", "reference": "2eb1cf79e59d807d89c256e7ac5e2bf8bdbd4acf", "shasum": "" }, "require": { "defuse/php-encryption": "^2.1", "ext-openssl": "*", "lcobucci/jwt": "^3.2.2", "league/event": "^2.1", "php": ">=7.0.0", "psr/http-message": "^1.0.1" }, "replace": { "league/oauth2server": "*", "lncd/oauth2": "*" }, "require-dev": { "phpstan/phpstan": "^0.9.2", "phpstan/phpstan-phpunit": "^0.9.4", "phpstan/phpstan-strict-rules": "^0.9.0", "phpunit/phpunit": "^6.3 || ^7.0", "roave/security-advisories": "dev-master", "zendframework/zend-diactoros": "^1.3.2" }, "type": "library", "autoload": { "psr-4": { "League\\OAuth2\\Server\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Alex Bilbie", "email": "hello@alexbilbie.com", "homepage": "http://www.alexbilbie.com", "role": "Developer" }, { "name": "Andy Millington", "email": "andrew@noexceptions.io", "homepage": "https://www.noexceptions.io", "role": "Developer" } ], "description": "A lightweight and powerful OAuth 2.0 authorization and resource server library with support for all the core specification grants. This library will allow you to secure your API with OAuth and allow your applications users to approve apps that want to access their data from your API.", "homepage": "https://oauth2.thephpleague.com/", "keywords": [ "Authentication", "api", "auth", "authorisation", "authorization", "oauth", "oauth 2", "oauth 2.0", "oauth2", "protect", "resource", "secure", "server" ], "time": "2019-05-05T09:22:01+00:00" }, { "name": "maximebf/debugbar", "version": "v1.15.0", "source": { "type": "git", "url": "https://github.com/maximebf/php-debugbar.git", "reference": "30e7d60937ee5f1320975ca9bc7bcdd44d500f07" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/30e7d60937ee5f1320975ca9bc7bcdd44d500f07", "reference": "30e7d60937ee5f1320975ca9bc7bcdd44d500f07", "shasum": "" }, "require": { "php": ">=5.3.0", "psr/log": "^1.0", "symfony/var-dumper": "^2.6|^3.0|^4.0" }, "require-dev": { "phpunit/phpunit": "^4.0|^5.0" }, "suggest": { "kriswallsmith/assetic": "The best way to manage assets", "monolog/monolog": "Log using Monolog", "predis/predis": "Redis storage" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.14-dev" } }, "autoload": { "psr-4": { "DebugBar\\": "src/DebugBar/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Maxime Bouroumeau-Fuseau", "email": "maxime.bouroumeau@gmail.com", "homepage": "http://maximebf.com" }, { "name": "Barry vd. Heuvel", "email": "barryvdh@gmail.com" } ], "description": "Debug bar in the browser for php application", "homepage": "https://github.com/maximebf/php-debugbar", "keywords": [ "debug", "debugbar" ], "time": "2017-12-15T11:13:46+00:00" }, { "name": "mockery/mockery", "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/mockery/mockery.git", "reference": "100633629bf76d57430b86b7098cd6beb996a35a" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/mockery/mockery/zipball/100633629bf76d57430b86b7098cd6beb996a35a", "reference": "100633629bf76d57430b86b7098cd6beb996a35a", "shasum": "" }, "require": { "hamcrest/hamcrest-php": "~2.0", "lib-pcre": ">=7.0", "php": ">=5.6.0" }, "require-dev": { "phpunit/phpunit": "~5.7.10|~6.5|~7.0" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.0.x-dev" } }, "autoload": { "psr-0": { "Mockery": "library/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Pádraic Brady", "email": "padraic.brady@gmail.com", "homepage": "http://blog.astrumfutura.com" }, { "name": "Dave Marshall", "email": "dave.marshall@atstsolutions.co.uk", "homepage": "http://davedevelopment.co.uk" } ], "description": "Mockery is a simple yet flexible PHP mock object framework", "homepage": "https://github.com/mockery/mockery", "keywords": [ "BDD", "TDD", "library", "mock", "mock objects", "mockery", "stub", "test", "test double", "testing" ], "time": "2018-10-02T21:52:37+00:00" }, { "name": "phar-io/manifest", "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/phar-io/manifest.git", "reference": "2df402786ab5368a0169091f61a7c1e0eb6852d0" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/phar-io/manifest/zipball/2df402786ab5368a0169091f61a7c1e0eb6852d0", "reference": "2df402786ab5368a0169091f61a7c1e0eb6852d0", "shasum": "" }, "require": { "ext-dom": "*", "ext-phar": "*", "phar-io/version": "^1.0.1", "php": "^5.6 || ^7.0" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.0.x-dev" } }, "autoload": { "classmap": [ "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Arne Blankerts", "email": "arne@blankerts.de", "role": "Developer" }, { "name": "Sebastian Heuer", "email": "sebastian@phpeople.de", "role": "Developer" }, { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de", "role": "Developer" } ], "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", "time": "2017-03-05T18:14:27+00:00" }, { "name": "phar-io/version", "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/phar-io/version.git", "reference": "a70c0ced4be299a63d32fa96d9281d03e94041df" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/phar-io/version/zipball/a70c0ced4be299a63d32fa96d9281d03e94041df", "reference": "a70c0ced4be299a63d32fa96d9281d03e94041df", "shasum": "" }, "require": { "php": "^5.6 || ^7.0" }, "type": "library", "autoload": { "classmap": [ "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Arne Blankerts", "email": "arne@blankerts.de", "role": "Developer" }, { "name": "Sebastian Heuer", "email": "sebastian@phpeople.de", "role": "Developer" }, { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de", "role": "Developer" } ], "description": "Library for handling version information and constraints", "time": "2017-03-05T17:38:23+00:00" }, { "name": "phpdocumentor/reflection-common", "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionCommon.git", "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", "shasum": "" }, "require": { "php": ">=5.5" }, "require-dev": { "phpunit/phpunit": "^4.6" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.0.x-dev" } }, "autoload": { "psr-4": { "phpDocumentor\\Reflection\\": [ "src" ] } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Jaap van Otterdijk", "email": "opensource@ijaap.nl" } ], "description": "Common reflection classes used by phpdocumentor to reflect the code structure", "homepage": "http://www.phpdoc.org", "keywords": [ "FQSEN", "phpDocumentor", "phpdoc", "reflection", "static analysis" ], "time": "2017-09-11T18:02:19+00:00" }, { "name": "phpdocumentor/reflection-docblock", "version": "4.3.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", "reference": "94fd0001232e47129dd3504189fa1c7225010d08" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/94fd0001232e47129dd3504189fa1c7225010d08", "reference": "94fd0001232e47129dd3504189fa1c7225010d08", "shasum": "" }, "require": { "php": "^7.0", "phpdocumentor/reflection-common": "^1.0.0", "phpdocumentor/type-resolver": "^0.4.0", "webmozart/assert": "^1.0" }, "require-dev": { "doctrine/instantiator": "~1.0.5", "mockery/mockery": "^1.0", "phpunit/phpunit": "^6.4" }, "type": "library", "extra": { "branch-alias": { "dev-master": "4.x-dev" } }, "autoload": { "psr-4": { "phpDocumentor\\Reflection\\": [ "src/" ] } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Mike van Riel", "email": "me@mikevanriel.com" } ], "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", "time": "2017-11-30T07:14:17+00:00" }, { "name": "phpdocumentor/type-resolver", "version": "0.4.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/9c977708995954784726e25d0cd1dddf4e65b0f7", "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7", "shasum": "" }, "require": { "php": "^5.5 || ^7.0", "phpdocumentor/reflection-common": "^1.0" }, "require-dev": { "mockery/mockery": "^0.9.4", "phpunit/phpunit": "^5.2||^4.8.24" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.0.x-dev" } }, "autoload": { "psr-4": { "phpDocumentor\\Reflection\\": [ "src/" ] } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Mike van Riel", "email": "me@mikevanriel.com" } ], "time": "2017-07-14T14:27:02+00:00" }, { "name": "phpseclib/phpseclib", "version": "2.0.23", "source": { "type": "git", "url": "https://github.com/phpseclib/phpseclib.git", "reference": "c78eb5058d5bb1a183133c36d4ba5b6675dfa099" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/c78eb5058d5bb1a183133c36d4ba5b6675dfa099", "reference": "c78eb5058d5bb1a183133c36d4ba5b6675dfa099", "shasum": "" }, "require": { "php": ">=5.3.3" }, "require-dev": { "phing/phing": "~2.7", "phpunit/phpunit": "^4.8.35|^5.7|^6.0", "sami/sami": "~2.0", "squizlabs/php_codesniffer": "~2.0" }, "suggest": { "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.", "ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.", "ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.", "ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations." }, "type": "library", "autoload": { "files": [ "phpseclib/bootstrap.php" ], "psr-4": { "phpseclib\\": "phpseclib/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Jim Wigginton", "email": "terrafrost@php.net", "role": "Lead Developer" }, { "name": "Patrick Monnerat", "email": "pm@datasphere.ch", "role": "Developer" }, { "name": "Andreas Fischer", "email": "bantu@phpbb.com", "role": "Developer" }, { "name": "Hans-Jürgen Petrich", "email": "petrich@tronic-media.com", "role": "Developer" }, { "name": "Graham Campbell", "email": "graham@alt-three.com", "role": "Developer" } ], "description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.", "homepage": "http://phpseclib.sourceforge.net", "keywords": [ "BigInteger", "aes", "asn.1", "asn1", "blowfish", "crypto", "cryptography", "encryption", "rsa", "security", "sftp", "signature", "signing", "ssh", "twofish", "x.509", "x509" ], "time": "2019-09-17T03:41:22+00:00" }, { "name": "phpspec/prophecy", "version": "1.8.0", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy.git", "reference": "4ba436b55987b4bf311cb7c6ba82aa528aac0a06" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/phpspec/prophecy/zipball/4ba436b55987b4bf311cb7c6ba82aa528aac0a06", "reference": "4ba436b55987b4bf311cb7c6ba82aa528aac0a06", "shasum": "" }, "require": { "doctrine/instantiator": "^1.0.2", "php": "^5.3|^7.0", "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0", "sebastian/comparator": "^1.1|^2.0|^3.0", "sebastian/recursion-context": "^1.0|^2.0|^3.0" }, "require-dev": { "phpspec/phpspec": "^2.5|^3.2", "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.8.x-dev" } }, "autoload": { "psr-0": { "Prophecy\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Konstantin Kudryashov", "email": "ever.zet@gmail.com", "homepage": "http://everzet.com" }, { "name": "Marcello Duarte", "email": "marcello.duarte@gmail.com" } ], "description": "Highly opinionated mocking framework for PHP 5.3+", "homepage": "https://github.com/phpspec/prophecy", "keywords": [ "Double", "Dummy", "fake", "mock", "spy", "stub" ], "time": "2018-08-05T17:53:17+00:00" }, { "name": "phpunit/php-code-coverage", "version": "5.3.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", "reference": "c89677919c5dd6d3b3852f230a663118762218ac" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/c89677919c5dd6d3b3852f230a663118762218ac", "reference": "c89677919c5dd6d3b3852f230a663118762218ac", "shasum": "" }, "require": { "ext-dom": "*", "ext-xmlwriter": "*", "php": "^7.0", "phpunit/php-file-iterator": "^1.4.2", "phpunit/php-text-template": "^1.2.1", "phpunit/php-token-stream": "^2.0.1", "sebastian/code-unit-reverse-lookup": "^1.0.1", "sebastian/environment": "^3.0", "sebastian/version": "^2.0.1", "theseer/tokenizer": "^1.1" }, "require-dev": { "phpunit/phpunit": "^6.0" }, "suggest": { "ext-xdebug": "^2.5.5" }, "type": "library", "extra": { "branch-alias": { "dev-master": "5.3.x-dev" } }, "autoload": { "classmap": [ "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de", "role": "lead" } ], "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", "homepage": "https://github.com/sebastianbergmann/php-code-coverage", "keywords": [ "coverage", "testing", "xunit" ], "time": "2018-04-06T15:36:58+00:00" }, { "name": "phpunit/php-file-iterator", "version": "1.4.5", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-file-iterator.git", "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/730b01bc3e867237eaac355e06a36b85dd93a8b4", "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4", "shasum": "" }, "require": { "php": ">=5.3.3" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.4.x-dev" } }, "autoload": { "classmap": [ "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Sebastian Bergmann", "email": "sb@sebastian-bergmann.de", "role": "lead" } ], "description": "FilterIterator implementation that filters files based on a list of suffixes.", "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", "keywords": [ "filesystem", "iterator" ], "time": "2017-11-27T13:52:08+00:00" }, { "name": "phpunit/php-text-template", "version": "1.2.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-text-template.git", "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", "shasum": "" }, "require": { "php": ">=5.3.3" }, "type": "library", "autoload": { "classmap": [ "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de", "role": "lead" } ], "description": "Simple template engine.", "homepage": "https://github.com/sebastianbergmann/php-text-template/", "keywords": [ "template" ], "time": "2015-06-21T13:50:34+00:00" }, { "name": "phpunit/php-timer", "version": "1.0.9", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-timer.git", "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", "shasum": "" }, "require": { "php": "^5.3.3 || ^7.0" }, "require-dev": { "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.0-dev" } }, "autoload": { "classmap": [ "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Sebastian Bergmann", "email": "sb@sebastian-bergmann.de", "role": "lead" } ], "description": "Utility class for timing", "homepage": "https://github.com/sebastianbergmann/php-timer/", "keywords": [ "timer" ], "time": "2017-02-26T11:10:40+00:00" }, { "name": "phpunit/php-token-stream", "version": "2.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-token-stream.git", "reference": "791198a2c6254db10131eecfe8c06670700904db" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/791198a2c6254db10131eecfe8c06670700904db", "reference": "791198a2c6254db10131eecfe8c06670700904db", "shasum": "" }, "require": { "ext-tokenizer": "*", "php": "^7.0" }, "require-dev": { "phpunit/phpunit": "^6.2.4" }, "type": "library", "extra": { "branch-alias": { "dev-master": "2.0-dev" } }, "autoload": { "classmap": [ "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de" } ], "description": "Wrapper around PHP's tokenizer extension.", "homepage": "https://github.com/sebastianbergmann/php-token-stream/", "keywords": [ "tokenizer" ], "time": "2017-11-27T05:48:46+00:00" }, { "name": "phpunit/phpunit", "version": "6.5.13", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", "reference": "0973426fb012359b2f18d3bd1e90ef1172839693" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/0973426fb012359b2f18d3bd1e90ef1172839693", "reference": "0973426fb012359b2f18d3bd1e90ef1172839693", "shasum": "" }, "require": { "ext-dom": "*", "ext-json": "*", "ext-libxml": "*", "ext-mbstring": "*", "ext-xml": "*", "myclabs/deep-copy": "^1.6.1", "phar-io/manifest": "^1.0.1", "phar-io/version": "^1.0", "php": "^7.0", "phpspec/prophecy": "^1.7", "phpunit/php-code-coverage": "^5.3", "phpunit/php-file-iterator": "^1.4.3", "phpunit/php-text-template": "^1.2.1", "phpunit/php-timer": "^1.0.9", "phpunit/phpunit-mock-objects": "^5.0.9", "sebastian/comparator": "^2.1", "sebastian/diff": "^2.0", "sebastian/environment": "^3.1", "sebastian/exporter": "^3.1", "sebastian/global-state": "^2.0", "sebastian/object-enumerator": "^3.0.3", "sebastian/resource-operations": "^1.0", "sebastian/version": "^2.0.1" }, "conflict": { "phpdocumentor/reflection-docblock": "3.0.2", "phpunit/dbunit": "<3.0" }, "require-dev": { "ext-pdo": "*" }, "suggest": { "ext-xdebug": "*", "phpunit/php-invoker": "^1.1" }, "bin": [ "phpunit" ], "type": "library", "extra": { "branch-alias": { "dev-master": "6.5.x-dev" } }, "autoload": { "classmap": [ "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de", "role": "lead" } ], "description": "The PHP Unit Testing framework.", "homepage": "https://phpunit.de/", "keywords": [ "phpunit", "testing", "xunit" ], "time": "2018-09-08T15:10:43+00:00" }, { "name": "phpunit/phpunit-mock-objects", "version": "5.0.10", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", "reference": "cd1cf05c553ecfec36b170070573e540b67d3f1f" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/cd1cf05c553ecfec36b170070573e540b67d3f1f", "reference": "cd1cf05c553ecfec36b170070573e540b67d3f1f", "shasum": "" }, "require": { "doctrine/instantiator": "^1.0.5", "php": "^7.0", "phpunit/php-text-template": "^1.2.1", "sebastian/exporter": "^3.1" }, "conflict": { "phpunit/phpunit": "<6.0" }, "require-dev": { "phpunit/phpunit": "^6.5.11" }, "suggest": { "ext-soap": "*" }, "type": "library", "extra": { "branch-alias": { "dev-master": "5.0.x-dev" } }, "autoload": { "classmap": [ "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de", "role": "lead" } ], "description": "Mock Object library for PHPUnit", "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", "keywords": [ "mock", "xunit" ], "abandoned": true, "time": "2018-08-09T05:50:03+00:00" }, { "name": "sebastian/code-unit-reverse-lookup", "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", "shasum": "" }, "require": { "php": "^5.6 || ^7.0" }, "require-dev": { "phpunit/phpunit": "^5.7 || ^6.0" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.0.x-dev" } }, "autoload": { "classmap": [ "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de" } ], "description": "Looks up which function or method a line of code belongs to", "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", "time": "2017-03-04T06:30:41+00:00" }, { "name": "sebastian/comparator", "version": "2.1.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", "reference": "34369daee48eafb2651bea869b4b15d75ccc35f9" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/34369daee48eafb2651bea869b4b15d75ccc35f9", "reference": "34369daee48eafb2651bea869b4b15d75ccc35f9", "shasum": "" }, "require": { "php": "^7.0", "sebastian/diff": "^2.0 || ^3.0", "sebastian/exporter": "^3.1" }, "require-dev": { "phpunit/phpunit": "^6.4" }, "type": "library", "extra": { "branch-alias": { "dev-master": "2.1.x-dev" } }, "autoload": { "classmap": [ "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Jeff Welch", "email": "whatthejeff@gmail.com" }, { "name": "Volker Dusch", "email": "github@wallbash.com" }, { "name": "Bernhard Schussek", "email": "bschussek@2bepublished.at" }, { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de" } ], "description": "Provides the functionality to compare PHP values for equality", "homepage": "https://github.com/sebastianbergmann/comparator", "keywords": [ "comparator", "compare", "equality" ], "time": "2018-02-01T13:46:46+00:00" }, { "name": "sebastian/diff", "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", "reference": "347c1d8b49c5c3ee30c7040ea6fc446790e6bddd" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/347c1d8b49c5c3ee30c7040ea6fc446790e6bddd", "reference": "347c1d8b49c5c3ee30c7040ea6fc446790e6bddd", "shasum": "" }, "require": { "php": "^7.0" }, "require-dev": { "phpunit/phpunit": "^6.2" }, "type": "library", "extra": { "branch-alias": { "dev-master": "2.0-dev" } }, "autoload": { "classmap": [ "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Kore Nordmann", "email": "mail@kore-nordmann.de" }, { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de" } ], "description": "Diff implementation", "homepage": "https://github.com/sebastianbergmann/diff", "keywords": [ "diff" ], "time": "2017-08-03T08:09:46+00:00" }, { "name": "sebastian/environment", "version": "3.1.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", "reference": "cd0871b3975fb7fc44d11314fd1ee20925fce4f5" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/cd0871b3975fb7fc44d11314fd1ee20925fce4f5", "reference": "cd0871b3975fb7fc44d11314fd1ee20925fce4f5", "shasum": "" }, "require": { "php": "^7.0" }, "require-dev": { "phpunit/phpunit": "^6.1" }, "type": "library", "extra": { "branch-alias": { "dev-master": "3.1.x-dev" } }, "autoload": { "classmap": [ "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de" } ], "description": "Provides functionality to handle HHVM/PHP environments", "homepage": "http://www.github.com/sebastianbergmann/environment", "keywords": [ "Xdebug", "environment", "hhvm" ], "time": "2017-07-01T08:51:00+00:00" }, { "name": "sebastian/exporter", "version": "3.1.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", "reference": "234199f4528de6d12aaa58b612e98f7d36adb937" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/234199f4528de6d12aaa58b612e98f7d36adb937", "reference": "234199f4528de6d12aaa58b612e98f7d36adb937", "shasum": "" }, "require": { "php": "^7.0", "sebastian/recursion-context": "^3.0" }, "require-dev": { "ext-mbstring": "*", "phpunit/phpunit": "^6.0" }, "type": "library", "extra": { "branch-alias": { "dev-master": "3.1.x-dev" } }, "autoload": { "classmap": [ "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Jeff Welch", "email": "whatthejeff@gmail.com" }, { "name": "Volker Dusch", "email": "github@wallbash.com" }, { "name": "Bernhard Schussek", "email": "bschussek@2bepublished.at" }, { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de" }, { "name": "Adam Harvey", "email": "aharvey@php.net" } ], "description": "Provides the functionality to export PHP variables for visualization", "homepage": "http://www.github.com/sebastianbergmann/exporter", "keywords": [ "export", "exporter" ], "time": "2017-04-03T13:19:02+00:00" }, { "name": "sebastian/global-state", "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", "shasum": "" }, "require": { "php": "^7.0" }, "require-dev": { "phpunit/phpunit": "^6.0" }, "suggest": { "ext-uopz": "*" }, "type": "library", "extra": { "branch-alias": { "dev-master": "2.0-dev" } }, "autoload": { "classmap": [ "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de" } ], "description": "Snapshotting of global state", "homepage": "http://www.github.com/sebastianbergmann/global-state", "keywords": [ "global state" ], "time": "2017-04-27T15:39:26+00:00" }, { "name": "sebastian/object-enumerator", "version": "3.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-enumerator.git", "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/7cfd9e65d11ffb5af41198476395774d4c8a84c5", "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5", "shasum": "" }, "require": { "php": "^7.0", "sebastian/object-reflector": "^1.1.1", "sebastian/recursion-context": "^3.0" }, "require-dev": { "phpunit/phpunit": "^6.0" }, "type": "library", "extra": { "branch-alias": { "dev-master": "3.0.x-dev" } }, "autoload": { "classmap": [ "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de" } ], "description": "Traverses array structures and object graphs to enumerate all referenced objects", "homepage": "https://github.com/sebastianbergmann/object-enumerator/", "time": "2017-08-03T12:35:26+00:00" }, { "name": "sebastian/object-reflector", "version": "1.1.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-reflector.git", "reference": "773f97c67f28de00d397be301821b06708fca0be" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/773f97c67f28de00d397be301821b06708fca0be", "reference": "773f97c67f28de00d397be301821b06708fca0be", "shasum": "" }, "require": { "php": "^7.0" }, "require-dev": { "phpunit/phpunit": "^6.0" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.1-dev" } }, "autoload": { "classmap": [ "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de" } ], "description": "Allows reflection of object attributes, including inherited and non-public ones", "homepage": "https://github.com/sebastianbergmann/object-reflector/", "time": "2017-03-29T09:07:27+00:00" }, { "name": "sebastian/recursion-context", "version": "3.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/recursion-context.git", "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", "shasum": "" }, "require": { "php": "^7.0" }, "require-dev": { "phpunit/phpunit": "^6.0" }, "type": "library", "extra": { "branch-alias": { "dev-master": "3.0.x-dev" } }, "autoload": { "classmap": [ "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Jeff Welch", "email": "whatthejeff@gmail.com" }, { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de" }, { "name": "Adam Harvey", "email": "aharvey@php.net" } ], "description": "Provides functionality to recursively process PHP variables", "homepage": "http://www.github.com/sebastianbergmann/recursion-context", "time": "2017-03-03T06:23:57+00:00" }, { "name": "sebastian/resource-operations", "version": "1.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/resource-operations.git", "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", "shasum": "" }, "require": { "php": ">=5.6.0" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.0.x-dev" } }, "autoload": { "classmap": [ "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de" } ], "description": "Provides a list of PHP built-in functions that operate on resources", "homepage": "https://www.github.com/sebastianbergmann/resource-operations", "time": "2015-07-28T20:34:47+00:00" }, { "name": "sebastian/version", "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/version.git", "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019", "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019", "shasum": "" }, "require": { "php": ">=5.6" }, "type": "library", "extra": { "branch-alias": { "dev-master": "2.0.x-dev" } }, "autoload": { "classmap": [ "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de", "role": "lead" } ], "description": "Library that helps with managing the version number of Git-hosted PHP projects", "homepage": "https://github.com/sebastianbergmann/version", "time": "2016-10-03T07:35:21+00:00" }, { "name": "seld/jsonlint", "version": "1.7.1", "source": { "type": "git", "url": "https://github.com/Seldaek/jsonlint.git", "reference": "d15f59a67ff805a44c50ea0516d2341740f81a38" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/d15f59a67ff805a44c50ea0516d2341740f81a38", "reference": "d15f59a67ff805a44c50ea0516d2341740f81a38", "shasum": "" }, "require": { "php": "^5.3 || ^7.0" }, "require-dev": { "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" }, "bin": [ "bin/jsonlint" ], "type": "library", "autoload": { "psr-4": { "Seld\\JsonLint\\": "src/Seld/JsonLint/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Jordi Boggiano", "email": "j.boggiano@seld.be", "homepage": "http://seld.be" } ], "description": "JSON Linter", "keywords": [ "json", "linter", "parser", "validator" ], "time": "2018-01-24T12:46:19+00:00" }, { "name": "seld/phar-utils", "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/Seldaek/phar-utils.git", "reference": "7009b5139491975ef6486545a39f3e6dad5ac30a" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/Seldaek/phar-utils/zipball/7009b5139491975ef6486545a39f3e6dad5ac30a", "reference": "7009b5139491975ef6486545a39f3e6dad5ac30a", "shasum": "" }, "require": { "php": ">=5.3" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.x-dev" } }, "autoload": { "psr-4": { "Seld\\PharUtils\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Jordi Boggiano", "email": "j.boggiano@seld.be" } ], "description": "PHAR file format utilities, for when PHP phars you up", "keywords": [ "phra" ], "time": "2015-10-13T18:44:15+00:00" }, { "name": "symfony/filesystem", "version": "v4.1.8", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", "reference": "71cc7693940bdad4dac4b038acd46b4f1ae7d2ca" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/filesystem/zipball/71cc7693940bdad4dac4b038acd46b4f1ae7d2ca", "reference": "71cc7693940bdad4dac4b038acd46b4f1ae7d2ca", "shasum": "" }, "require": { "php": "^7.1.3", "symfony/polyfill-ctype": "~1.8" }, "type": "library", "extra": { "branch-alias": { "dev-master": "4.1-dev" } }, "autoload": { "psr-4": { "Symfony\\Component\\Filesystem\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Fabien Potencier", "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Symfony Filesystem Component", "homepage": "https://symfony.com", "time": "2018-11-11T19:51:29+00:00" }, { "name": "symfony/psr-http-message-bridge", "version": "v1.2.0", "source": { "type": "git", "url": "https://github.com/symfony/psr-http-message-bridge.git", "reference": "9ab9d71f97d5c7d35a121a7fb69f74fee95cd0ad" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/9ab9d71f97d5c7d35a121a7fb69f74fee95cd0ad", "reference": "9ab9d71f97d5c7d35a121a7fb69f74fee95cd0ad", "shasum": "" }, "require": { "php": "^7.1", "psr/http-message": "^1.0", "symfony/http-foundation": "^3.4 || ^4.0" }, "require-dev": { "nyholm/psr7": "^1.1", "symfony/phpunit-bridge": "^3.4.20 || ^4.0", "zendframework/zend-diactoros": "^1.4.1 || ^2.0" }, "suggest": { "nyholm/psr7": "For a super lightweight PSR-7/17 implementation" }, "type": "symfony-bridge", "extra": { "branch-alias": { "dev-master": "1.2-dev" } }, "autoload": { "psr-4": { "Symfony\\Bridge\\PsrHttpMessage\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Symfony Community", "homepage": "http://symfony.com/contributors" }, { "name": "Fabien Potencier", "email": "fabien@symfony.com" } ], "description": "PSR HTTP message bridge", "homepage": "http://symfony.com", "keywords": [ "http", "http-message", "psr-17", "psr-7" ], "time": "2019-03-11T18:22:33+00:00" }, { "name": "theseer/tokenizer", "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/theseer/tokenizer.git", "reference": "cb2f008f3f05af2893a87208fe6a6c4985483f8b" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/theseer/tokenizer/zipball/cb2f008f3f05af2893a87208fe6a6c4985483f8b", "reference": "cb2f008f3f05af2893a87208fe6a6c4985483f8b", "shasum": "" }, "require": { "ext-dom": "*", "ext-tokenizer": "*", "ext-xmlwriter": "*", "php": "^7.0" }, "type": "library", "autoload": { "classmap": [ "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Arne Blankerts", "email": "arne@blankerts.de", "role": "Developer" } ], "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", "time": "2017-04-07T12:08:54+00:00" }, { "name": "webmozart/assert", "version": "1.3.0", "source": { "type": "git", "url": "https://github.com/webmozart/assert.git", "reference": "0df1908962e7a3071564e857d86874dad1ef204a" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/webmozart/assert/zipball/0df1908962e7a3071564e857d86874dad1ef204a", "reference": "0df1908962e7a3071564e857d86874dad1ef204a", "shasum": "" }, "require": { "php": "^5.3.3 || ^7.0" }, "require-dev": { "phpunit/phpunit": "^4.6", "sebastian/version": "^1.0.1" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.3-dev" } }, "autoload": { "psr-4": { "Webmozart\\Assert\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Bernhard Schussek", "email": "bschussek@gmail.com" } ], "description": "Assertions to validate method input/output with nice error messages.", "keywords": [ "assert", "check", "validate" ], "time": "2018-01-29T19:49:41+00:00" } ], "aliases": [], "minimum-stability": "stable", "stability-flags": { "deligram/bioscope": 20, "swayok/alternative-laravel-cache": 20, "tymon/jwt-auth": 20, "laracasts/generators": 20 }, "prefer-stable": false, "prefer-lowest": false, "platform": { "php": ">= 7.1.3", "ext-json": "*" }, "platform-dev": [] } qarray/changelog.txt 0000777 00000000641 15251235576 0010556 0 ustar 00 Version: 1.1.2 ================= 1. Fix facade related issue 2. Add new Method getReceiverInfo($conversationId) 3. Make getInbox method easier. Now you just call getInbox() instead of getInbox($userId); 4. Add new dependency Carbon/Carbon 5. Now you can get message date as like facebook. Example: 3 Mins ago. We are add an imaginary attribut. So you can call it by $message->time_ago 6. And improve some performance qarray/composer.json 0000777 00000001671 15251235576 0010614 0 ustar 00 { "name": "nahid\/qarray", "description": "QArray is a PHP abstraction for querying array", "keywords": [ "array", "query", "php" ], "homepage": "https:\/\/github.com\/nahid\/qarray", "type": "library", "license": "MIT", "authors": [ { "name": "Nahid Bin Azhar", "email": "nahid.dns@gmail.com" } ], "require": { "php": ">=7.4", "myclabs\/deep-copy": "^1.8", "ext-json": "*" }, "require-dev": { "phpunit\/phpunit": "^5.0 || ^6.0", "symfony\/var-dumper": "^3.4" }, "autoload": { "psr-4": { "Rvx\\Nahid\\QArray\\": "src\/" }, "files": [ "helpers\/qarray.php" ] }, "autoload-dev": { "psr-4": { "Rvx\\Nahid\\JsonQ\\Tests\\": "tests\/" } }, "minimum-stability": "stable", "prefer-stable": true } qarray/LICENSE 0000777 00000014634 15251235576 0007102 0 ustar 00 CC0 1.0 Universal Statement of Purpose The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work"). Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others. For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights. 1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following: i. the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work; ii. moral rights retained by the original author(s) and/or performer(s); iii. publicity and privacy rights pertaining to a person's image or likeness depicted in a Work; iv. rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below; v. rights protecting the extraction, dissemination, use and reuse of data in a Work; vi. database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and vii. other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof. 2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose. 3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose. 4. Limitations and Disclaimers. a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document. b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law. c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work. For more information, please see <http://creativecommons.org/publicdomain/zero/1.0/> apiz/readme.md 0000777 00000015716 15251235576 0007322 0 ustar 00 # APIZ APIZ is a PHP API Client Development Kit, it helps you to manage HTTP API call in OOP way. You can easily handle and isolate all kinds of REST API calls and their responses by using this package. ## Requirements - PHP >= 5.5.9 ## Installations ```shell composer require nahid/apiz ``` ## Configurations There are no extra configurations for this package. ## Usage Lets see an example to consume API from https://reqres.in. Suppose you need to create several API services for your project. Your service directory is `app/Services`. Now we are going to develop a service for https://reqres.in and make a class file `ReqResApiService.php` which will extend `\Apiz\AbstractApi` class. ```php namespace App\Services; use Apiz\AbstractApi; class ReqResApiService extends AbstractApi { protected function getBaseURL() { return 'https://reqres.in'; } } ``` `getBaseURL()` is an abstract method of the `AbstractApi` class. You need to override this method to set the proper base URL for your API. Few APIs have a common prefix in their URL. Like, here `reqres.in` have a prefix `api` on every endpoint. So, we'll override the `getPrefix()` method to define the Prefix. ```php namespace App\Services; use Apiz\AbstractApi; class ReqResApiService extends AbstractApi { protected function getBaseURL() { return 'https://reqres.in'; } protected function getPrefix() { return 'api'; } } ``` Now let's make a method to get all users info. ```php namespace App\Services; use Apiz\AbstractApi; class ReqResApiService extends AbstractApi { protected function getBaseURL() { return 'https://reqres.in'; } protected function getPrefix() { return 'api'; } public function getAllUsers() { $response = $this->get('users'); if ($response->getStatusCode() === 200) { return $response()->toArray(); } return []; } } ``` So, we are basically making a `GET` request to the URL `https://reqres.in/api/users`. See, how easy it is to manage an API now? Let's see another example. ## Post Request with Form Params ```php public function createUser(array $data) { $response = $this->withFormParams($data) ->post('create'); if ($response->getStatusCode() === 201) { return $response()->toArray(); } return null; } ``` ## Default Headers Sometimes we need to bind some headers with all the requests. Suppose if you want to deal with the Github API, you have to send `access_token` in every request with the headers. So APIZ provide you a handy way to deal with this problem. Just override `AbstractApi::getDefaultHeaders()`. ```php protected function getDefaultHeaders() { return [ 'access_token' => $_ENV['GITHUB_ACCESS_TOKEN'], ]; } ``` Cool, right? You can easily use all HTTP verbs like `get`, `post` etc. It's totally hassle free. See more examples in the [Examples Folder](./Examples). ## Query over Response Data Sometimes we receive huge payload as a response from the APIs. It's quite daunting to parse proper data from that big payload. No worries! We're using a powerful Query parser, named [QArray](https://github.com/nahid/qarray) by default to parse and query over the Response data. Let's see how we can use this parser to parse the response we got for `getAllUsers` method from our previous example. ```php public function getFirstUser() { $users = $this->get('users'); return $users->query()->from('data')->first(); } ``` We're getting list of users in the `data` key in the response. From that we're collecting the first data. See, how easy it is! You can find detail usage of the QArray [here](https://github.com/nahid/qarray). Additionally, there is a secret sauce for you. If you don't want to query like: `$users->query()`, you can just do it like this: `$users()`. That means the response object is invokable and behave exactly like calling the `query()` method. You're welcome. :D ## Overriding HTTP Client By default we are using `Guzzle` as our HTTP Client. But you are not bound to use this. You can easily use your own PSR7 supported HTTP Client with `Apiz`. Just pass an instance of your HTTP Client to our `setClient()` method. See an example [here](./Examples/API%20with%20Different%20Client). Here is our GuzzleClient to get an idea how your Client should look like: ```php <?php namespace Apiz\Http\Clients; use Apiz\Http\AbstractClient; use GuzzleHttp\Client; use GuzzleHttp\Psr7\Request; use GuzzleHttp\Psr7\Response; use GuzzleHttp\Psr7\Uri; use GuzzleHttp\Exception\GuzzleException; use Psr\Http\Message\ResponseInterface; // Your client must extend the `AbstractClient` class GuzzleClient extends AbstractClient { public function getRequestClass() { // Return the Request class name of your PSR7 supported Client // This Request class must implement the Psr\Http\Message\RequestInterface return Request::class; } public function getResponseClass() { // Return the Response class name of your PSR7 supported Client // This Response class must implement the Psr\Http\Message\ResponseInterface return Response::class; } public function getUriClass() { // Return the Uri class name of your PSR7 supported Client // This Uri class must implement the Psr\Http\Message\UriInterface return Uri::class; } /** * @param mixed ...$args * @return ResponseInterface * @throws GuzzleException */ public function send(...$args) { // In this method, implement how your Client execute the Request sending $client = new Client(); return $client->send(... $args); } } ``` ## List of methods for common HTTP verbs - `get(string $uri)` - `post(string $uri)` - `put(string $uri)` - `delete(string $uri)` - `head(string $uri)` - `options(string $uri)` ## List of Available methods - `getPrefix():string`: override this method to define the common prefix, if you need it - `setClient($client)` : pass a PSR7 supported Client instance, only if you need to override the default Guzzle HTTP Client - `withFormParams(array)`: pass Form parameters data for requests like POST, PATCH, UPDATE - `withHeaders(array)`: pass Header data - `withQueryParams(array)`: pass Query Parameter data - `withFormData(array)`: pass Multipart form data - `getDefaultHeaders():array`: override to define default Headers, if you have any - `getDefaultQueries():array`: override to define default queries, if you have any - `skipDefaultHeaders(bool)` - `skipDefaultQueries(bool)` - `allowRedirects(array)` - `basicAuth(string $username, string $password [, array $options])` - `body(string)`: Set request body - `json(array)`: Set JSON data to be passed as Request Body - `file(string $name, string $file_path, string $filename [, array $headers])` - `params(array $params)` ### Contribution Feel free send feedback and issues. Contributions to improve this package is most welcome too. apiz/LICENSE 0000777 00000002046 15251235576 0006540 0 ustar 00 MIT License Copyright (c) 2020 nahid Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. apiz/src/HttpExceptionReceiver.php 0000777 00000001055 15251235576 0013315 0 ustar 00 <?php namespace Rvx\Apiz; use Rvx\Apiz\Http\Response; class HttpExceptionReceiver { protected $exceptions; protected $statusCode; public function __construct(Response $response, $exceptions = []) { $this->statusCode = (int) $response->getStatusCode(); $this->exceptions = $exceptions; $this->throwExceptions(); } protected function throwExceptions() { if (\array_key_exists($this->statusCode, $this->exceptions)) { throw new $this->exceptions[$this->statusCode](); } } } apiz/src/Constants/MimeType.php 0000777 00000001125 15251235576 0012535 0 ustar 00 <?php namespace Rvx\Apiz\Constants; interface MimeType { const APPLICATION_JSON = 'application/json'; const TEXT_JSON = 'text/json'; const APPLICATION_JAVASCRIPT = 'application/javascript'; const APPLICATION_XML = 'application/xml'; const TEXT_XML = 'text/xml'; const APPLICATION_YAML = 'application/x-yaml'; const TEXT_YAML = 'text/yaml'; const JSON_TYPES = [self::APPLICATION_JSON, self::TEXT_JSON, self::APPLICATION_JAVASCRIPT]; const XML_TYPES = [self::APPLICATION_XML, self::TEXT_XML]; const YAML_TYPES = [self::APPLICATION_YAML, self::TEXT_YAML]; } apiz/src/Constants/GraphQLRequestType.php 0000777 00000000203 15251235576 0014511 0 ustar 00 <?php namespace Rvx\Apiz\Constants; interface GraphQLRequestType { const QUERY = 'query'; const MUTATION = 'mutation'; } apiz/src/AbstractApi.php 0000777 00000030220 15251235576 0011223 0 ustar 00 <?php declare (strict_types=1); namespace Rvx\Apiz; use Rvx\Apiz\GraphQL\AbstractRequest; use Rvx\Apiz\Http\Clients\AbstractClient; use Rvx\Apiz\Http\Clients\GuzzleClient; use Rvx\Apiz\Http\Request; use Rvx\Apiz\Http\Response; use Rvx\Apiz\Traits\Hookable; use Exception; use Rvx\GuzzleHttp\Psr7\Utils; use Rvx\GuzzleHttp\RequestOptions; use Rvx\Psr\Http\Message\ResponseInterface; use Rvx\Apiz\Exceptions\InvalidResponseClassException; /** * Class AbstractApi * @template Resp * @package Apiz */ abstract class AbstractApi { use Hookable; /** * list of available http exceptions * * @var array */ protected array $httpExceptions = []; /** * skip exception when its value true * * @var bool */ protected bool $shouldSkipHttpException = \false; /** * this variable contains request details * * @var Request */ protected $request; /** * response class name * @var class-string<Resp> $response */ protected $response = Response::class; /** * @var array */ protected array $config = []; /** * AbstractApi constructor. * @param ?Request $request */ public function __construct($request = null) { if (!$request || !$request->hasClient()) { $this->request = new Request(new GuzzleClient($this->config)); } $this->setBaseURL($this->getBaseURL()); $this->setPrefix($this->getPrefix()); } /** * @return string */ protected abstract function getBaseURL() : string; /** * Get client configs * * @return array */ public function getConfig() : array { return $this->config; } /** * Set client config * * @param $config */ public function setConfig($config) { $this->config = $config; } /** * Get request instance * * @return Request */ public function getRequest() { return $this->request; } /** * set Base URL * * @param string $url */ protected function setBaseURL(string $url) { $this->request->setBaseURL($url); } /** * @return string */ public function getPrefix() : string { return ''; } /** * set url prefix * * @param string $prefix */ protected function setPrefix(string $prefix) { $this->request->setPrefix($prefix); } /** * @param AbstractClient $client */ protected function setClient(AbstractClient $client) { $this->request->setClient($client); } /** * @param Request $request * @param ResponseInterface $response * @return Resp * @throws InvalidResponseClassException */ private function makeResponse(Request $request, ResponseInterface $response) { $responseClass = $this->response; $apizResponse = new $responseClass($request, $response); if (!$apizResponse instanceof Response) { throw new InvalidResponseClassException(); } return $apizResponse; } /** * @param string $responseClass */ protected function setResponseClass($responseClass) { $this->response = $responseClass; } /** * set form parameters or form data for POST, PUT and PATCH request * * @param array $params * @return AbstractApi */ protected function withFormParams(array $params = []) { $this->request->setContentType('application/x-www-form-urlencoded'); $body = \urlencode(\http_build_query($params)); $this->request->setBodyContents($body); return $this; } /** * set request headers * * @param array $headers * @return AbstractApi */ protected function withHeaders(array $headers = []) : self { $this->request->setHeaders($headers); return $this; } /** * get default headers that will automatically bind with every request headers * * @return array */ protected function getDefaultHeaders() : array { return []; } /** * get default queries that will automatically bind with every request * * @return array */ protected function getDefaultQueries() : array { return []; } /** * @param bool $action * @return self */ protected function skipDefaultHeaders(bool $action = \true) : self { $this->request->skipDefaultHeaders($action); return $this; } /** * @param bool $action * @return self */ protected function skipDefaultQueries(bool $action = \true) : self { $this->request->skipDefaultQueries($action); return $this; } /** * set query parameters * * @param array $params * @return AbstractApi */ protected function withQueryParams(array $params = []) : self { $this->request->setQueryParams($params); return $this; } protected function withOptions(array $options = []) : self { $this->request->setOptions($options); return $this; } /** * Add allow redirects param * * @param array|null $option * @return AbstractApi */ protected function allowRedirects(?array $option = []) : self { if (empty($option)) { $option = \true; } $this->request->setOption(RequestOptions::ALLOW_REDIRECTS, $option); return $this; } /** * Set basic auth options * * @param string $username * @param string $password * @return AbstractApi */ protected function basicAuth(string $username, string $password) : self { $this->request->setHeader('Authorization', 'Basic ' . \base64_encode("{$username}:{$password}")); return $this; } /** * Set request body * * @param mixed $contents * @return AbstractApi */ protected function withBody($contents) : self { if (\is_array($contents)) { $this->request->setContentType('x-www-form-urlencoded'); $contents = \urlencode(\http_build_query($contents)); } $this->request->setBodyContents($contents); return $this; } /** * Set request param as JSON * * @param array $params * @return AbstractApi */ protected function withJson(array $params = []) : self { $this->request->setHeader('Content-Type', 'application/json'); $this->request->setBodyContents(\json_encode($params)); return $this; } /** * Send file to the request * * @param string $name * @param string $file * @param string $filename * @param array $headers * @return AbstractApi */ protected function withFile(string $name, string $file, string $filename, array $headers = []) : self { if (\file_exists($file)) { $contents = Utils::tryFopen($file, 'r'); return $this->attach($name, $contents, $filename, $headers); } return $this; } /** * Attach a raw content with request * * @param string $name * @param mixed $contents * @param string $filename * @param array $headers * @return self */ protected function attach(string $name, $contents, string $filename, array $headers = []) : self { $this->request->setBodyMultipart(['name' => $name, 'contents' => $contents, 'filename' => $filename, 'headers' => $headers]); return $this; } /** * Attach form value with multipart * * @param array $data * @return AbstractApi */ protected function withFormData(array $data = []) : self { $params = $this->prepareFormData($data); if (!empty($params)) { $this->request->setBodyParams($params); } return $this; } /** * @param array $params * @param string $prefix * @return array */ protected function prepareFormData(array $params, string $prefix = '') : array { $formParams = []; foreach ($params as $key => $value) { $newKey = empty($prefix) ? $key : $prefix . '[' . $key . ']'; if (\is_array($value)) { $formParams = \array_merge($formParams, $this->prepareFormData($value, $newKey)); } else { $formParams[] = ['name' => $newKey, 'contents' => $value]; } } return $formParams; } /** * skip default http exceptions from request * * @param array $codes * @return AbstractApi */ protected function skipHttpExceptions(array $codes = []) : self { if (!empty($codes)) { $this->shouldSkipHttpException = \true; foreach ($codes as $code) { unset($this->httpExceptions[$code]); } } return $this; } /** * push new http exceptions to current request * * @param array $exceptions * @return AbstractApi */ protected function pushHttpExceptions(array $exceptions = []) : self { foreach ($exceptions as $code => $exception) { $this->httpExceptions[$code] = $exception; } return $this; } /** * @param string $uri * @return Resp * @throws Exception */ protected function get(string $uri) { return $this->makeMethodRequest('GET', $uri); } /** * @param string $uri * @return Resp * @throws Exception */ protected function post(string $uri) { return $this->makeMethodRequest('POST', $uri); } /** * @param string $uri * @return Resp * @throws Exception */ protected function put(string $uri) { return $this->makeMethodRequest('PUT', $uri); } /** * @param string $uri * @return Resp * @throws Exception */ protected function patch(string $uri) { return $this->makeMethodRequest('PATCH', $uri); } /** * @param string $uri * @return Resp * @throws Exception */ protected function delete(string $uri) { return $this->makeMethodRequest('DELETE', $uri); } /** * @param string $uri * @return Resp * @throws Exception */ protected function head(string $uri) { return $this->makeMethodRequest('HEAD', $uri); } /** * @param string $uri * @return Resp * @throws Exception */ protected function options(string $uri) { return $this->makeMethodRequest('OPTIONS', $uri); } protected function graphqlCall(AbstractRequest $request) { return $this->graphql('', $request); } protected function graphql(string $uri, AbstractRequest $request) { return $this->withJson($request->getQuery())->post($uri); } /** * Make all request from here * * @param string $method * @param string $uri * @return Resp * @throws Exception */ private function makeMethodRequest(string $method, string $uri) { $response = null; try { $this->request->setDefaultHeaders($this->getDefaultHeaders()); $this->request->setDefaultQueries($this->getDefaultQueries()); $request = $this->request->make($method, $uri); $this->executePreHooks($this->request); $clientResponse = $this->request->send($request); $response = $this->makeResponse($this->request, $clientResponse); if (!$this->shouldSkipHttpException) { if ($response instanceof Response) { new HttpExceptionReceiver($response, $this->httpExceptions); } } $this->executeSuccessHooks($response, $this->request); } catch (Exception $e) { $this->executeFailHooks($e); throw $e; } finally { $this->resetObjects(); } return $response; } /** * Reset this class objects */ protected function resetObjects() { $this->shouldSkipHttpException = \false; $this->request->reset(); } } apiz/src/Http/Request.php 0000777 00000023231 15251235576 0011401 0 ustar 00 <?php namespace Rvx\Apiz\Http; use Rvx\Apiz\GraphQL\AbstractRequest; use Rvx\Apiz\Http\Clients\AbstractClient; use Rvx\Apiz\Http\Clients\GuzzleClient; use Exception; use Rvx\Apiz\Exceptions\ClientNotDefinedException; use Rvx\Apiz\Exceptions\InvalidResponseClassException; use Rvx\GuzzleHttp\Psr7\MultipartStream; use Rvx\Psr\Http\Message\RequestInterface; use Rvx\Psr\Http\Message\ResponseInterface; class Request { /** * The main client to do all the magic * * @var AbstractClient */ protected $client = null; /** * Base URL * * @var string */ private $baseUrl = ''; /** * URL prefix * * @var string */ private $prefix = ''; /** * Default headers options for request * * @var array */ private $defaultHeaders = []; /** * Default Query options for request * * @var array */ private $defaultQueries = []; /** * when need to skip default header make it true * * @var bool */ private $shouldSkipDefaultHeader = \false; /** * when need to skip default query make it true * * @var bool */ private $shouldSkipDefaultQueries = \false; /** * Options for http clients * * @var array */ protected $options = []; /** * Request parameters * * @var array */ protected $body = []; /** * Query parameters * * @var array */ protected $queryParams = []; protected $headers = []; protected $contentType = 'application/x-www-form-urlencoded'; /** * @var RequestInterface */ protected RequestInterface $psrRequest; public function __construct(AbstractClient $client = null) { if (!$client) { $client = new GuzzleClient(); } $this->setClient($client); } /** * @return AbstractClient * @throws ClientNotDefinedException */ public function getClient() : AbstractClient { if (!$this->client) { throw new ClientNotDefinedException(); } return $this->client; } /** * @param AbstractClient $client */ public function setClient(AbstractClient $client) : void { $this->client = $client; } /** * check if client is set * * @return bool */ public function hasClient() : bool { return !!$this->client; } /** * get Base URL * * @return string */ public function getBaseURL() : string { return \trim($this->baseUrl, '/'); } /** * set Base URL * * @param string $url */ public function setBaseURL(string $url) : void { $this->baseUrl = $url; } /** * get url prefix * * @return string */ public function getPrefix() : string { return \trim($this->prefix, '/'); } /** * set url prefix * * @param string $prefix */ public function setPrefix(string $prefix) : void { $this->prefix = $prefix; } /** * get default headers that will automatically bind with every request headers * * @return array */ protected function getDefaultHeaders() : array { return $this->defaultHeaders; } /** * set default headers that will automatically bind with every request headers * * @param array $headers */ public function setDefaultHeaders(array $headers) : void { $this->defaultHeaders = $headers; } /** * get default queries that will automatically bind with every request * * @return array */ protected function getDefaultQueries() : array { return $this->defaultQueries; } /** * set default queries that will automatically bind with every request * * @param array $queries */ public function setDefaultQueries(array $queries) : void { $this->defaultQueries = $queries; } /** * @return array */ public function getOptions() : array { return $this->options; } /** * @param array $options */ public function setOptions(array $options) : void { $this->options = $options; } /** * @param string $name * @param mixed $option */ public function setOption(string $name, $option) : void { $this->options[$name] = $option; } /** * @return mixed */ public function getBodyContents() { return $this->body; } /** * @param mixed $contents * @return void */ public function setBodyContents($contents) : void { $this->body = $contents; } public function setBodyParam(string $key, $value) : void { if (!\is_array($this->body)) { $this->body = []; } $this->body[$key] = $value; } public function setBodyParams(array $params) : void { $this->body = $params; } public function setBodyMultipart(array $value) : void { $this->setContentType('multipart/form-data'); if (!\is_array($this->body)) { $this->body = []; } $this->body[] = $value; } /** * @param bool $action * @return Request */ public function skipDefaultHeaders(bool $action = \true) : self { $this->shouldSkipDefaultHeader = $action; return $this; } /** * @param bool $action * @return Request */ public function skipDefaultQueries(bool $action = \true) : self { $this->shouldSkipDefaultQueries = $action; return $this; } public function setContentType(string $type) : void { $this->contentType = $type; if ($type == 'multipart/form-data') { return; } $this->setHeader('Content-Type', $type); } public function getHeaders() : array { return $this->headers; } public function getHeader(string $key) : ?string { return $this->headers[$key] ?? null; } public function setHeaders(array $headers) : void { $this->headers = $headers; } public function setHeader(string $key, string $value) : void { $this->headers[$key] = $value; } public function hasHeader(string $key) : bool { return isset($this->headers[$key]); } public function getQueryParams() : array { return $this->queryParams; } public function getQueryParam(string $key) : ?string { return $this->queryParams[$key] ?? null; } public function setQueryParams(array $queryParams) : void { $this->queryParams = $queryParams; } public function setQueryParam(string $key, string $value) : void { $this->queryParams[$key] = $value; } public function hasQueryParam(string $key) : bool { return isset($this->queryParams[$key]); } protected function mergeDefaultHeaders() : void { if ($this->shouldSkipDefaultHeader) { return; } $this->setHeaders(\array_merge($this->defaultHeaders, $this->getHeaders())); } protected function mergeDefaultQueries() : void { if ($this->shouldSkipDefaultQueries) { return; } $this->setQueryParams(\array_merge($this->defaultQueries, $this->getQueryParams())); } /** * @param string $method * @param string $uri * @return RequestInterface * @throws ClientNotDefinedException */ public function make(string $method, string $uri) : RequestInterface { $this->mergeDefaultHeaders(); $this->mergeDefaultQueries(); $fullPath = $this->getFullRequestPath($uri); $uriObject = $this->getClient()->getUri($fullPath); $body = $this->getBodyContents(); if (\is_array($body) && $this->contentType == 'multipart/form-data') { $body = new MultipartStream($body); } if (\is_array($body)) { $body = \urlencode(\http_build_query($body)); } if (\strtoupper($method) === 'GET') { $body = ''; } $this->psrRequest = $this->getClient()->getRequest($method, $uriObject, $this->getHeaders(), $body); return $this->psrRequest; } public function getPsrRequest() : RequestInterface { return $this->psrRequest; } /** * @param RequestInterface $request * @return ResponseInterface * @throws ClientNotDefinedException * @throws InvalidResponseClassException */ public function send(RequestInterface $request) : ResponseInterface { $response = $this->getClient()->send($request, $this->getOptions()); if (!$this->getClient()->isValidResponse($response)) { throw new InvalidResponseClassException(); } return $response; } /** * @param string $uri * @return string */ public function getFullRequestPath(string $uri) : string { $uri = \trim($uri, '/'); $prefix = $this->getPrefix(); $baseUrl = $this->getBaseURL(); if ($prefix) { $uri = "{$prefix}/{$uri}"; } $params = ''; if (!empty($this->queryParams)) { $params = '?' . \http_build_query($this->queryParams); } return "{$baseUrl}/{$uri}{$params}"; } public function reset() : void { $this->shouldSkipDefaultHeader = \false; $this->shouldSkipDefaultQueries = \false; $this->options = []; $this->body = []; $this->queryParams = []; $this->headers = []; $this->contentType = 'application/x-www-form-urlencoded'; } } apiz/src/Http/Clients/AbstractClient.php 0000777 00000003336 15251235576 0014260 0 ustar 00 <?php namespace Rvx\Apiz\Http\Clients; use Exception; use Rvx\Psr\Http\Message\RequestInterface; use Rvx\Psr\Http\Message\ResponseInterface; use Rvx\Psr\Http\Message\UriInterface; abstract class AbstractClient { /** * @var array */ protected $config; public function __construct($config = []) { $this->config = $config; } /** * @return string */ protected abstract function getRequestClass() : string; /** * @return string */ protected abstract function getResponseClass() : string; /** * @return string */ protected abstract function getUriClass() : string; /** * @param array $args * @return ResponseInterface * @throws Exception */ public abstract function send(...$args) : ResponseInterface; /** * @param mixed ...$args * @return RequestInterface */ public function getRequest(...$args) { $class = $this->getRequestClass(); return new $class(...$args); } /** * @param mixed ...$args * @return ResponseInterface */ public function getResponse(...$args) { $class = $this->getResponseClass(); return new $class(...$args); } /** * @param mixed ...$args * @return UriInterface */ public function getUri(...$args) { $class = $this->getUriClass(); return new $class(...$args); } /** * @param ResponseInterface $response * @return bool */ public function isValidResponse(ResponseInterface $response) { $responseClass = $this->getResponseClass(); if ($response instanceof $responseClass) { return \true; } return \false; } } apiz/src/Http/Clients/GuzzleClient.php 0000777 00000001743 15251235576 0013775 0 ustar 00 <?php namespace Rvx\Apiz\Http\Clients; use Rvx\GuzzleHttp\Client; use Rvx\GuzzleHttp\Psr7\Request; use Rvx\GuzzleHttp\Psr7\Response; use Rvx\GuzzleHttp\Psr7\Uri; use Rvx\GuzzleHttp\Exception\GuzzleException; use Rvx\Psr\Http\Message\RequestInterface; use Rvx\Psr\Http\Message\ResponseInterface; class GuzzleClient extends AbstractClient { /** * @inheritDoc * @return string */ public function getRequestClass() : string { return Request::class; } /** * @inheritDoc */ public function getResponseClass() : string { return Response::class; } /** * @inheritDoc */ public function getUriClass() : string { return Uri::class; } /** * @param mixed ...$args * @return ResponseInterface * @throws GuzzleException */ public function send(...$args) : ResponseInterface { $client = new Client($this->config); return $client->send(...$args); } } apiz/src/Http/Response.php 0000777 00000012365 15251235576 0011555 0 ustar 00 <?php namespace Rvx\Apiz\Http; use Exception; use Rvx\Nahid\QArray\QueryEngine; use Rvx\Apiz\Exceptions\NoResponseException; use Rvx\Apiz\QueryBuilder; use Rvx\Apiz\Utilities\Parser; use Rvx\Psr\Http\Message\ResponseInterface; use Rvx\Psr\Http\Message\StreamInterface; class Response { /** * store response object * * @var ResponseInterface */ protected $response; /** * Store request details * * @var Request */ protected $request; /** * Store raw contents * * @var mixed|string */ protected $rawContent = ''; /** * instance of QueryBuilder * * @var null|QueryBuilder */ protected $queryBuilder = null; /** * Response constructor. * * @param Request $request * @param ResponseInterface $response * @throws NoResponseException */ public function __construct(Request $request, ResponseInterface $response) { $this->setRequest($request); $this->setResponse($response); $this->rawContent = $this->fetchContents(); } /** * This is to make the response invokable and behave properly to Query calls * e.g. With the $response, user can now call $response()->from('node')->get(); * * @return QueryEngine * @throws Exception */ public function __invoke() { return $this->query(); } public function __toString() { return (string) $this->rawContent; } /** * Get requests details * * @return Request */ protected function getRequest() { return $this->request; } /** * @param Request $request */ protected function setRequest(Request $request) { $this->request = $request; } /** * @param ResponseInterface $response * @throws NoResponseException */ protected function setResponse(ResponseInterface $response) { if (\is_null($response)) { throw new NoResponseException(); } $this->response = $response; } /** * Automatically parse response contents based on mime type * * @return array|bool|mixed|SimpleXMLElement|string */ public function autoParse() { return Parser::parseByMimeType($this->getContents(), $this->getMimeType()); } /** * Fetch response raw contents * * @return mixed */ private function fetchContents() { return $this->getBody()->getContents(); } /** * @return int */ public function getStatusCode() { return $this->response->getStatusCode(); } /** * @return array */ public function getHeaders() { return $this->response->getHeaders(); } /** * @param $name * @return string[] */ public function getHeader($name) { return $this->response->getHeader($name); } /** * @param $name * @return bool */ public function hasHeader($name) { return $this->response->hasHeader($name); } /** * @param $name * @return string */ public function getHeaderLine($name) { return $this->response->getHeaderLine($name); } /** * @return StreamInterface */ public function getBody() { return $this->response->getBody(); } /** * Get response data mime types * * @return array */ public function getMimeTypes() { $content_types = $this->response->getHeader('Content-Type'); if (\count($content_types) > 0) { return \explode(';', $content_types[0]); } return []; } /** * Get response data mime type * * @return string */ public function getMimeType() { $header = $this->getMimeTypes(); if (\count($header) > 0) { return $header[0]; } return null; } /** * Getter for contents * * @return mixed|string */ public function getContents() { return $this->rawContent; } /** * get the response body size * * @return int */ public function size() { $lengths = $this->getHeader('Content-Length'); if (\count($lengths) > 0) { return (int) $lengths[0]; } return 0; } /** * check is response empty * * @return bool */ public function isEmpty() { return (bool) $this->size(); } /** * make QueryBuilder instance from response */ protected function initQueryBuilder() { if (\is_null($this->queryBuilder)) { $this->queryBuilder = new QueryBuilder(); $parsedContent = $this->autoParse(); if ($parsedContent) { $this->queryBuilder = $this->queryBuilder->collect($parsedContent); } } } /** * return QueryBuilder instance from response * * @return QueryEngine * @throws Exception */ public function query() { $this->initQueryBuilder(); return $this->queryBuilder; } /** * @return QueryEngine */ public function reset() { return $this->queryBuilder->reset(null, \true); } } apiz/src/Traits/Hookable.php 0000777 00000004675 15251235576 0012037 0 ustar 00 <?php namespace Rvx\Apiz\Traits; trait Hookable { /** * @var callable */ private $preHookFn = null; /** * @var callable */ private $successHookFn = null; /** * @var callable */ private $failsHookFn = null; /** * @return callable */ public function getPreHookFn() { return $this->preHookFn; } /** * @param callable * * @return Hookable */ public function bindPreHook(callable $fn) { $this->preHookFn = $fn; return $this; } /** * @return callable */ public function getSuccessHookFn() { return $this->successHookFn; } /** * @param callable * * @return Hookable */ public function bindSuccessHook(callable $fn) { $this->successHookFn = $fn; return $this; } /** * @return callable */ public function getFailsHookFn() { return $this->failsHookFn; } /** * @param callable * * @return Hookable */ public function bindFailsHook(callable $fn) { $this->failsHookFn = $fn; return $this; } protected function preHook($request) { return; } protected function successHook($response, $request) { return; } protected function failsHook($exception) { return; } /** * @param $request */ private function executePreHooks($request) { if (\is_null($this->preHookFn)) { $this->preHook($request); } if (\is_callable($this->preHookFn)) { $preHookFn = $this->preHookFn; $preHookFn($request); } } /** * @param $response * @param $request */ private function executeSuccessHooks($response, $request) { if (\is_null($this->successHookFn)) { $this->successHook($response, $request); } if (\is_callable($this->successHookFn)) { $successHookFn = $this->successHookFn; $successHookFn($response, $request); } } /** * @param $exceptions */ private function executeFailHooks($exceptions) { if (\is_null($this->failsHookFn)) { $this->failsHook($exceptions); } if (\is_callable($this->failsHookFn)) { $failsHookFn = $this->failsHookFn; $failsHookFn($exceptions); } } } apiz/src/QueryBuilder.php 0000777 00000000464 15251235576 0011451 0 ustar 00 <?php namespace Rvx\Apiz; use Rvx\Nahid\QArray\QueryEngine; class QueryBuilder extends QueryEngine { public function parseData($data) { if (\is_array($data)) { return $data; } return []; } public function readPath($path) { return []; } } apiz/src/GraphQL/AbstractRequest.php 0000777 00000002246 15251235576 0013447 0 ustar 00 <?php namespace Rvx\Apiz\GraphQL; use Rvx\Apiz\Constants\GraphQLRequestType; abstract class AbstractRequest { protected array $variables = []; public abstract function query() : string; public function getVariables() : array { return $this->variables; } public function getType() : string { $query = \trim($this->query()); $words = \explode(' ', $query, 2); if (isset($words[0]) && isset($words[1])) { $type = \strtolower($words[0]); if ($type === GraphQLRequestType::QUERY || $type === GraphQLRequestType::MUTATION) { return $type; } } throw new \InvalidArgumentException('Invalid query type'); } public function getQuery() : array { $query = ['query' => $this->query()]; if (!empty($this->getVariables())) { $query['variables'] = $this->getVariables(); } return $query; } public function setVariables(array $variables) : self { $this->variables = $variables; return $this; } public function __toString() { return \json_encode($this->getQuery()); } } apiz/src/GraphQL/GraphQLRequest.php 0000777 00000000747 15251235576 0013206 0 ustar 00 <?php declare (strict_types=1); namespace Rvx\Apiz\GraphQL; class GraphQLRequest extends AbstractRequest { protected string $query; protected array $variables; public function __construct(string $query, array $variables = []) { $this->query = $query; $this->variables = $variables; } public function query() : string { return $this->query; } public function variables() : array { return $this->variables; } } apiz/src/Utilities/Parser.php 0000777 00000003651 15251235576 0012245 0 ustar 00 <?php namespace Rvx\Apiz\Utilities; use SimpleXMLElement; use Rvx\Apiz\Constants\MimeType; class Parser { /** * @param $content * @param $mimeType * @return array|bool|mixed|SimpleXMLElement|string */ public static function parseByMimeType($content, $mimeType) { if (\in_array($mimeType, MimeType::JSON_TYPES)) { return self::parseJson($content, \true); } elseif (\in_array($mimeType, MimeType::XML_TYPES)) { return self::parseXml($content); } elseif (\in_array($mimeType, MimeType::XML_TYPES)) { return self::parseYaml($content); } return $content; } /** * Parse raw contents to JSON * * @param string $content * @param bool $toAssoc * @return bool|mixed|string */ private static function parseJson($content, $toAssoc = \false) { $content = \json_decode($content, $toAssoc); if (\json_last_error() == \JSON_ERROR_NONE) { return $content; } return \false; } /** * Parse raw contents to XML * * @param string $content * @return array|SimpleXMLElement */ private static function parseXml($content) { \libxml_use_internal_errors(\true); $elem = \simplexml_load_string($content); if ($elem === \false) { return \libxml_get_errors(); } return self::xml2array($elem); } /** * @param $data * @return array */ private static function xml2array($data) { $out = []; foreach ((array) $data as $key => $node) { $out[$key] = \is_object($node) ? self::xml2array($node) : $node; } return $out; } /** * Parse raw contents to Yaml * * @param string $content * @return mixed */ private static function parseYaml($content) { return \yaml_parse($content); } } apiz/src/Exceptions/ClientNotDefinedException.php 0000777 00000000417 15251235576 0016211 0 ustar 00 <?php namespace Rvx\Apiz\Exceptions; use Exception; class ClientNotDefinedException extends Exception { public function __construct($message = "Client Not Defined", $code = 0, $previous = null) { parent::__construct($message, $code, $previous); } } apiz/src/Exceptions/NoResponseException.php 0000777 00000000442 15251235576 0015124 0 ustar 00 <?php namespace Rvx\Apiz\Exceptions; use Exception; class NoResponseException extends Exception { public function __construct($message = "Connection timeout or no response exception", $code = 0, $previous = null) { parent::__construct($message, $code, $previous); } } apiz/src/Exceptions/InvalidResponseClassException.php 0000777 00000000427 15251235576 0017127 0 ustar 00 <?php namespace Rvx\Apiz\Exceptions; use Exception; class InvalidResponseClassException extends Exception { public function __construct($message = "Invalid Response Class", $code = 0, $previous = null) { parent::__construct($message, $code, $previous); } } apiz/composer.json 0000777 00000002102 15251235576 0010246 0 ustar 00 { "name": "nahid\/apiz", "description": "Apiz is a boilerplate for REST API HTTP call manager", "type": "php", "require": { "php": ">=7.4", "ext-json": "*", "lib-libxml": ">=2.6.20", "nahid\/qarray": "^2.1", "guzzlehttp\/guzzle": "^6.0 | ^7.0" }, "require-dev": { "phpunit\/phpunit": "^9", "symfony\/var-dumper": "^5.1" }, "suggest": { "ext-curl": "*", "ext-libxml": "*", "ext-yaml": "*", "ext-simplexml": "*" }, "license": "MIT", "authors": [ { "name": "Nahid Bin Azhar", "email": "nahid.dns@gmail.com" }, { "name": "Ahmed shamim", "email": "shaon.cse81@gmail.com" } ], "autoload": { "psr-4": { "Rvx\\Apiz\\": "src\/", "Rvx\\Tests\\": "Tests\/" }, "files": [] }, "minimum-stability": "stable", "autoload-dev": { "psr-4": { "Rvx\\Api\\": "api\/" } }, "prefer-stable": true } apiz/Tests/Feature/BasicHTTPRequestsTest.php 0000777 00000002637 15251235576 0015064 0 ustar 00 <?php namespace Rvx\Tests\Feature; use Rvx\Apiz\Http\Response; use Rvx\PHPUnit\Framework\TestCase; use Rvx\Tests\Feature\Mocks\BasicHTTPAPI; class BasicHTTPRequestsTest extends TestCase { public function testGet() { $exampleAPI = $this->getBasicHTTPAPIMock(); $users = $exampleAPI->getAllUsers(); $this->assertInstanceOf(Response::class, $users); } public function testPost() { $exampleAPI = $this->getBasicHTTPAPIMock(); $user = $exampleAPI->createUser(['name' => "John Doe", 'designation' => "Spy"]); $this->assertInstanceOf(Response::class, $user); } public function testPut() { $exampleAPI = $this->getBasicHTTPAPIMock(); $user = $exampleAPI->updateUser(['name' => "Jane Doe", 'designation' => "Super Spy"]); $this->assertInstanceOf(Response::class, $user); } public function testPatch() { $exampleAPI = $this->getBasicHTTPAPIMock(); $user = $exampleAPI->partiallyUpdateUser(['name' => "James Bond"]); $this->assertInstanceOf(Response::class, $user); } public function testDelete() { $exampleAPI = $this->getBasicHTTPAPIMock(); $user = $exampleAPI->deleteUser(2); $this->assertInstanceOf(Response::class, $user); } /** * @return BasicHTTPAPI */ protected function getBasicHTTPAPIMock() { return new BasicHTTPAPI(); } } apiz/Tests/Feature/Mocks/BasicHTTPAPI.php 0000777 00000001410 15251235576 0014062 0 ustar 00 <?php namespace Rvx\Tests\Feature\Mocks; use Rvx\Apiz\AbstractApi; class BasicHTTPAPI extends AbstractApi { protected function getBaseURL() { return 'https://reqres.in'; } public function getPrefix() { return 'api'; } public function getAllUsers() { return $this->get('users'); } public function createUser(array $data) { return $this->withJson($data)->post('users'); } public function updateUser(array $data) { return $this->withJson($data)->put('users'); } public function partiallyUpdateUser(array $data) { return $this->withJson($data)->patch('users'); } public function deleteUser($id) { return $this->delete("users/{$id}"); } } apiz/Examples/API with Different Client/BaseAPI.php 0000777 00000000760 15251235576 0015662 0 ustar 00 <?php namespace Rvx\Examples; use Rvx\Apiz\AbstractApi; abstract class BaseAPI extends AbstractApi { public function __construct() { parent::__construct(); // Just pass an instance of your own PSR7 supported client like this $this->setClient(new MyAwesomeClient()); } /** * @inheritDoc */ protected function getBaseURL() { return 'https://reqres.in'; } protected function getPrefix() { return 'api'; } } apiz/Examples/API with Different Client/ExampleAPI.php 0000777 00000000227 15251235576 0016401 0 ustar 00 <?php namespace Rvx\Examples; class ExampleAPI extends BaseAPI { public function getAllUsers() { return $this->get('users'); } } apiz/Examples/Basic HTTP Example/BasicHTTPAPI.php 0000777 00000001443 15251235576 0015232 0 ustar 00 <?php namespace Rvx\Examples; use Rvx\Apiz\AbstractApi; class BasicHTTPAPI extends AbstractApi { /** * @inheritDoc */ protected function getBaseURL() { return 'https://reqres.in'; } protected function getPrefix() { return 'api'; } public function getAllUsers() { return $this->get('users'); } public function createUser(array $data) { return $this->withJson($data)->post('users'); } public function updateUser(array $data) { return $this->withJson($data)->put('users'); } public function partiallyUpdateUser(array $data) { return $this->withJson($data)->patch('users'); } public function deleteUser($id) { return $this->delete("users/{$id}"); } }
| ver. 1.6 |
Github
|
.
| PHP 8.1.34 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка