PHPackages                             ksujeet/easy - 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. ksujeet/easy

ActiveLibrary

ksujeet/easy
============

Easy — a lightweight PHP framework (routing, DI, HTTP, middleware, templating, security).

v1.0.0(yesterday)00MITPHP ^8.1

Since Jul 19Compare

[ Source](https://github.com/ksujeet2607/easy)[ Packagist](https://packagist.org/packages/ksujeet/easy)[ RSS](/packages/ksujeet-easy/feed)WikiDiscussions Synced today

READMEChangelogDependencies (17)Versions (2)Used By (0)

Easy
====

[](#easy)

A lightweight PHP framework: DI-based routing (`nikic/fast-route` + `php-di`), an HTTP layer (Request/Response/RedirectResponse), middleware pipeline, session management, a template compiler/renderer with caching, a security layer (guards, auth strategies, CSRF, password hashing), and a base controller your application controllers extend.

This package intentionally contains **no application/business code** — no entities, no domain services. It's the reusable core that an application repo installs as a dependency.

Install
-------

[](#install)

```
composer require ksujeet/easy
```

Wiring it into your app
-----------------------

[](#wiring-it-into-your-app)

`Easy\Http\Controllers\BaseController` depends on two small contracts instead of any concrete class from your app, so your app supplies the implementations:

```
use Easy\Contracts\Authenticatable;
use Easy\Contracts\AppContextInterface;

class User extends YourOrmEntity implements Authenticatable {}

class AppContext implements AppContextInterface
{
    public function user(): ?Authenticatable { /* ... */ }
}
```

Then your app's own base controller just extends the framework one:

```
namespace App\Controllers;

use Easy\Http\Controllers\BaseController as FrameworkBaseController;

abstract class BaseController extends FrameworkBaseController
{
}
```

Every existing `SomeController extends BaseController` in your app keeps working unchanged.

What changed from the original in-app version
---------------------------------------------

[](#what-changed-from-the-original-in-app-version)

- Removed two dead imports (`App\Services\Supports\CompanyContext`, `App\Services\UserAccessService`) that referenced classes which no longer exist in the codebase — these were causing a class-not-found risk on autoload.
- `BaseController` now depends on `Easy\Contracts\AppContextInterface` / `Authenticatable` instead of concrete `App\Services\Core\AppContext` / `App\Entities\Support\User`, so the framework has zero dependency on application code.
- Added `dompdf/dompdf`, `symfony/form`, `symfony/validator`, `symfony/security-csrf`, and `symfony/http-foundation` to `require` — these were used by framework code (`Easy\Utilities\Utility`, `Easy\Factory\FormFactory`) but were missing from `composer.json`.
- Removed `symfony/var-exporter` and `symfony/uid` — unused anywhere in `core/` or `library/`.

License
-------

[](#license)

MIT — see [LICENSE](LICENSE).

###  Health Score

38

—

LowBetter than 83% of packages

Maintenance100

Actively maintained with recent releases

Popularity0

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity42

Maturing project, gaining track record

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

Unknown

Total

1

Last Release

1d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/57d29757c38b5e24e0107bbea746db60dedcc9c70a7db5e667adcd89fd0c9dc3?d=identicon)[ksujeet2607](/maintainers/ksujeet2607)

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/ksujeet-easy/health.svg)

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

###  Alternatives

[easycorp/easyadmin-bundle

Admin generator for Symfony applications

4.3k17.9M399](/packages/easycorp-easyadmin-bundle)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

585.6M592](/packages/shopware-core)[oro/platform

Business Application Platform (BAP)

645143.5k116](/packages/oro-platform)[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.5k5.9M753](/packages/sylius-sylius)[contao/core-bundle

Contao Open Source CMS

1231.6M2.8k](/packages/contao-core-bundle)[shopware/platform

The Shopware e-commerce core

3.4k1.5M3](/packages/shopware-platform)

PHPackages © 2026

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