Description
Based off the .NET's LINQ (Language integrated query), PINQ unifies querying across arrays/iterators and external data sources, in a single readable and concise fluent API.
PINQ alternatives and similar libraries
Based on the "Data Structure and Storage" category.
Alternatively, view PINQ alternatives based on common mentions on social networks and blogs.
-
Serializer
Library for (de-)serializing data of any complexity (supports JSON, and XML) -
Porter
:lipstick: Durable and asynchronous data imports for consuming data at scale and publishing testable SDKs. -
Cake Collection
[READ-ONLY] Collection library in CakePHP. This repo is a split of the main code that can be found in https://github.com/cakephp/cakephp -
CRUDlex
CRUDlex is an easy to use CRUD generator for Symfony 4 and Silex 2 which is great for auto generated admin pages -
Zend Serializer
Another library for serialising and de-serialising data (ZF2). -
Array helper
Simple & secure helper to manipulate arrays in various ways
Build time-series-based applications quickly and at scale.
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of PINQ or a related project?
Popular Comparisons
README
PHP Integrated Query - Official site
What is PINQ?
Based off the .NET's LINQ (Language integrated query), PINQ unifies querying across arrays/iterators and external data sources, in a single readable and concise fluent API.
An example
$youngPeopleDetails = $people
->where(function ($row) { return $row['age'] <= 50; })
->orderByAscending(function ($row) { return $row['firstName']; })
->thenByAscending(function ($row) { return $row['lastName']; })
->take(50)
->indexBy(function ($row) { return $row['phoneNumber']; })
->select(function ($row) {
return [
'fullName' => $row['firstName'] . ' ' . $row['lastName'],
'address' => $row['address'],
'dateOfBirth' => $row['dateOfBirth'],
];
});
Installation
PINQ is compatible with >= PHP 5.5
Install the package via composer:
composer require timetoogo/pinq
*Note that all licence references and agreements mentioned in the PINQ README section above
are relevant to that project's source code only.