PHPackages                             iceylan/restorm - 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. iceylan/restorm

ActiveLibrary[API Development](/categories/api)

iceylan/restorm
===============

A Laravel plugin that feeds the Restorm in harmony running on the client side.

v2.0.0(1y ago)212MITPHPPHP ^8.0

Since May 20Pushed 1y agoCompare

[ Source](https://github.com/ismailceylan/restorm-laravel)[ Packagist](https://packagist.org/packages/iceylan/restorm)[ RSS](/packages/iceylan-restorm/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (2)DependenciesVersions (3)Used By (0)

Restorm For Laravel
===================

[](#restorm-for-laravel)

This composer package allows us to handle requests properly in Laravel that sent by the [Restorm](https://github.com/ismailceylan/restorm) javascript library from client side.

Installation
============

[](#installation)

To install the package, run the following command in terminal, on your laravel project's root path:

```
composer require iceylan/restorm
```

Usage
=====

[](#usage)

Let's just keep things simple, we can use it in laravel `routes/api.php` file like:

```
use App\Models\Post;
use Iceylan\Restorm\Restorm;

Route::get( 'v1.0/posts', function( Restorm $restorm )
{
	return $restorm
		->apply( Post::class )
		->get();
});
```

And server can easily respond the request like:

```
GET /api/v1.0/posts?with=author&filter[author_id]=eq:12&sort[created_at]=desc&limit=10&page=1&paginate=length-aware

```

If the endpoint is not a collection of resources, then we should grab the model the Laravel way like:

```
use App\Models\Post;
use Iceylan\Restorm\Restorm;

Route::get( 'v1.0/posts/{post}', function( Restorm $restorm, Post $post )
{
	return $restorm
		->apply( $post )
		->get();
});
```

We can pass the following types as a parameter to the `apply` method:

- fully qualified class name like `App\Models\Post`
- query builders like `Post::where( 'id', 1 )`
- relations `Post::with( 'user' )`
- model instances like `Post::find( 1 )`
- model classes like `Post::class` which will return `App\Models\Post`

Restorm will parse the request and make modification on the model that we just passed to it, depending on the directives that carried by the request.

It will return the QueryBuilder, Model, Relation, or whatever we passed at the first stage. It will be back with the modifications applied to it. We can continue to work with that source as we did before in Laravel.

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance32

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity47

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~24 days

Total

2

Last Release

703d ago

Major Versions

v1.9.0 → v2.0.02024-06-13

### Community

Maintainers

![](https://www.gravatar.com/avatar/8c0b08cf02ef675e3989dd80ea4095994d56f50b7abc2c2afaf069766303489e?d=identicon)[ismailceylan](/maintainers/ismailceylan)

---

Top Contributors

[![ismailceylan](https://avatars.githubusercontent.com/u/2580129?v=4)](https://github.com/ismailceylan "ismailceylan (39 commits)")

### Embed Badge

![Health badge](/badges/iceylan-restorm/health.svg)

```
[![Health](https://phpackages.com/badges/iceylan-restorm/health.svg)](https://phpackages.com/packages/iceylan-restorm)
```

###  Alternatives

[stripe/stripe-php

Stripe PHP Library

4.0k143.3M480](/packages/stripe-stripe-php)[twilio/sdk

A PHP wrapper for Twilio's API

1.6k92.9M272](/packages/twilio-sdk)[knplabs/github-api

GitHub API v3 client

2.2k15.8M187](/packages/knplabs-github-api)[facebook/php-business-sdk

PHP SDK for Facebook Business

90121.9M34](/packages/facebook-php-business-sdk)[meilisearch/meilisearch-php

PHP wrapper for the Meilisearch API

73813.7M114](/packages/meilisearch-meilisearch-php)[google/gax

Google API Core for PHP

263103.1M454](/packages/google-gax)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
