PHPackages                             kafoso/questful - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. kafoso/questful

ActiveLibrary[API Development](/categories/api)

kafoso/questful
===============

An interfacing tool providing a sensible link between HTTP query contents and a RESTful API. The name "Questful" is a word play and concatenation of the words "Query" (from HTTP) and "RESTful".

1.0.3(9y ago)11.7kMITPHP

Since Feb 23Pushed 9y ago1 watchersCompare

[ Source](https://github.com/kafoso/questful)[ Packagist](https://packagist.org/packages/kafoso/questful)[ RSS](/packages/kafoso-questful/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (4)Dependencies (5)Versions (5)Used By (0)

Questful
========

[](#questful)

Questful is an interfacing and metadata tool, providing a sensible link between HTTP queries and RESTful APIs. The name "Questful" is a word play and concatenation of the words "Query" (from HTTP query) and "RESTful".

---

Introduction
============

[](#introduction)

RESTful APIs are widely used throughout the web. While a consensus has emerged about how to structure HTTP requests and responses, disparity and disagreement still exists when it comes to filtering and sorting data for multiple results (lists).

Questful aims to close part of this gap by providing strict, manageable, and secure means of applying filters and sorting, all the way from HTTP requests through the extraction of data from a storage unit[1](#footnotes-storage_unit) (e.g. database), and providing data and metadata in the final HTTP response.

Purpose
-------

[](#purpose)

The primary goal of Questful is to allow developers to quickly manage and implement filtering and sorting options in web applications, so that they may focus their energy and skill on making great applications, instead of repeatedly implementing trivial procedures.

Disclaimer
----------

[](#disclaimer)

This has started as a hobby project and is still in its infancy. Use Questful your own risk and please see the [LICENSE](LICENSE) file.

A quick example
---------------

[](#a-quick-example)

In Questful, finding all users called "Homer" and then sorting (alphanumerically) by their names is as easy as:

```
GET /user?filter[]=name=%"Homer"%&sort[]=name

```

PHP code for capturing and processing the above request:

```
