Download the PHP package zulfajuniadi/tinyrest without Composer
On this page you can find all versions of the php package zulfajuniadi/tinyrest. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package tinyrest
TinyRest
What is it?
A quick and dirty way to get a php REST backend running with two lines of code. Not to be used on production. I use it mainly to test client side javascript / mobile apps during development.
Installation
Usage
Let's say my little app has two restful endpoints:
- /projects
- /tasks
By instantiating TinyREST like so:
I now have a fully functional backend for my app that handles these routes:
Projects Routes:
Method | Edpoint | Description | Response |
---|---|---|---|
GET | /projects | Get list of all projects | {"response":[{"title":"Uber Project","id":"5434319cb4b5a"}, {...}, {...}],"error":false,"status":200} |
GET | /projects/:id | Get detail of a project | {"response":{"title":"Uber Project","id":"5434319cb4b5a"},"error":false,"status":200} |
POST | /projects | Create new project | {"response":{"title":"Uber Project","id":"5434319cb4b5a"},"error":false,"status":201} |
PUT | /projects/:id | Update a project detail | {"response":{"title":"Uber Project","id":"5434319cb4b5a"},"error":false,"status":200} |
DELETE | /projects/:id | Delete a project | {"response":{"title":"Uber Project","id":"5434319cb4b5a"},"error":false,"status":200} |
Todos Routes:
Method | Edpoint | Description | Response |
---|---|---|---|
GET | /todos | Get list of all todos | {"response":[{"title":"Buy some milk","id":"5434319cbd234"}, {...}, {...}],"error":false,"status":200} |
GET | /todos/:id | Get detail of a todo | {"response":{"title":"Buy some milk","id":"5434319cbd234"},"error":false,"status":200} |
POST | /todos | Create new todo | {"response":{"title":"Buy some milk","id":"5434319cbd234"},"error":false,"status":201} |
PUT | /todos/:id | Update a todo detail | {"response":{"title":"Buy some milk","id":"5434319cbd234"},"error":false,"status":200} |
DELETE | /todos/:id | Delete a todo | {"response":{"title":"Buy some milk","id":"5434319cbd234"},"error":false,"status":200} |
Examples
View the index.php file in the examples folder.
Event Listeners
TinyREST exposes the on
method that enables you to bind to events on an endpoint. Let's say I were to log all data created on the projects, I would do so like:
Events fired:
Event | Closure Arguments | Description |
---|---|---|
create |
|
Fired every time a new record is created |
update |
|
Fired every time a record is updated |
delete |
|
Fired every time a record is deleted |
Data Persistance
TinyREST stores each endpoint data inside it's own .json file in the public directory. To change the directory, provide a second argument to point to your preferred data directory as per example below:
Contributions Welcome
You contributions are very much appreciated mainly in these areas:
- Providing unit tests
- Bug reporting and fixing
- Documentations
Please fork this repository and create a pull request for it to be merged.
License
ISC
Copyright (c) 2014, Zulfa Juniadi bin Zulkifli
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.