PHPackages                             ebcore/skeleton - 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. ebcore/skeleton

ActiveProject

ebcore/skeleton
===============

Ebcore PHP Framework Skeleton Project

v1.0.2(1y ago)515MITPHPPHP ^7.4 || ^8.1

Since Apr 8Pushed 1y ago1 watchersCompare

[ Source](https://github.com/sajjadbandezadeh/ebcore-skeleton)[ Packagist](https://packagist.org/packages/ebcore/skeleton)[ RSS](/packages/ebcore-skeleton/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (3)Dependencies (1)Versions (4)Used By (0)

Ebcore Framework
================

[](#ebcore-framework)

 [![Ebcore Framework Logo](https://raw.githubusercontent.com/sajjadbandezadeh/ebcore-framework/refs/heads/master/logo.svg)](https://raw.githubusercontent.com/sajjadbandezadeh/ebcore-framework/refs/heads/master/logo.svg)[![PHP Version](https://camo.githubusercontent.com/fb7c72456e13f7d5ecf8486e29d02a2e6775aaf4d18622a63529976b0ed0740e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d382e312532422d707572706c652e737667)](https://php.net)[![License](https://camo.githubusercontent.com/7013272bd27ece47364536a221edb554cd69683b68a46fc0ee96881174c4214c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d626c75652e737667)](LICENSE)

Ebcore is a modern and powerful PHP framework inspired by Entity-Based architecture. It helps you build complex web applications with ease and elegance.

Key Features
------------

[](#key-features)

- 🏗️ Entity-Based Architecture
- 🛣️ Modern Routing System
- 🧩 object-relational mapper (ORM)
- 🔒 Powerful Middleware System
- ⚡ Advanced Caching
- 🎯 Event System
- 📝 Logging System
- 🔐 Security Features
- ⚙️ Flexible Configuration

Installation
------------

[](#installation)

Create a new project with Ebcore:

```
composer create-project ebcore/skeleton my-project
cd my-project
```

Project Structure
-----------------

[](#project-structure)

```
my-project/
├── app/
│   └── entities/
│       └── User/
│           ├── Controllers/
│           │   └── UserController.php
│           ├── Events/
│           │   └── UserRegisterEvent.php
│           └── Middlewares/
│               └── CheckUserPermissionMiddleware.php
├── config/
│   ├── app.json
│   ├── database.json
│   └── middleware.json
├── public/
│   ├── .htaccess
│   └── index.php
├── routes/
│   └── web.php
└── vendor/
    └── ebcore/
        ├── Core/
        ├── Middlewares/
        └── Packages/

```

Usage Examples
--------------

[](#usage-examples)

### 1. Defining Routes

[](#1-defining-routes)

```
// routes/web.php
use ebcore\Core\Router;

$router->map('GET', '/', 'User','UserController', 'index');
$router->map('GET', '/users', 'User','UserController', 'index', 'UserRegisterEvent', 'after');

$router->run();
```

### 2. Creating Controllers

[](#2-creating-controllers)

```
// app/entities/User/Controllers/UserController.php
namespace App\entities\User\Controllers;

use ebcore\Core\Controller;
use ebcore\DB\DbContext;
use ebcore\Module\Response;
use ebcore\Packages\Dump\Dump;

class UserController
{
    public function index()
    {
        $users = DbContext::User()->all();
        // Dump::dd($users);
        if (empty($users)) {
            return Response::json(null, "No users found", 404, false);
        }
        return Response::json($users);
    }
}
```

### 3. Creating Middleware

[](#3-creating-middleware)

```
// app/entities/User/Middlewares/CheckUserPermissionMiddleware.php
namespace app\entities\User\Middlewares;

use ebcore\Core\Middleware;

class CheckUserPermissionMiddleware extends BaseMiddleware
{
    public function handle($request, $next)
    {
        if (!$this->checkPermission()) {
            Logger::warning("Permission denied for user", [
                'permission' => $this->requiredPermission,
                'user_id' => $_SESSION['user_id'] ?? null
            ]);

            return Response::json(null, "You do not have the required permission", 403, false);
        }

        return parent::next();
    }
}
```

### 4. Creating Events

[](#4-creating-events)

```
// app/entities/User/Events/UserRegisterEvent.php
namespace App\entities\User\Events;

use ebcore\Core\Events;
use ebcore\DB\DbContext;
use ebcore\Module\Response;

class UserRegisterEvent extends Events
{
    public function execute(): void
    {
        if ($this->isExecuted('UserRegisterEvent')) {
            return;
        }

        try {
            $user = array();
            $user["name"] = "test";
            $user["family"] = "test";
            $user["created_at"] = date("Y/m/d h:i:sa");
            DbContext::User()->create($user);
            $this->markAsExecuted('UserRegisterEvent');
        } catch (\Exception $e) {
            $this->resetExecution('UserRegisterEvent');
            throw $e;
        }
    }
}
```

### 5. Using Cache System

[](#5-using-cache-system)

```
use ebcore\Core\Cache;

// Store in cache
Cache::put('key', 'value', 3600);

// Retrieve from cache
$value = Cache::get('key');

// Remove from cache
Cache::forget('key');
```

Configuration
-------------

[](#configuration)

### Application Settings

[](#application-settings)

```
// config/app.json
{
    "name": "Ebcore Framework",
    "version": "1.0.0",
    "debug": true,
    "timezone": "Asia/Tehran",
    "locale": "fa",
    "url": "http://localhost"
}
```

### Middleware Settings

[](#middleware-settings)

```
// config/middleware.json
{
    "throttle": {
        "max_requests": 60,
        "decay_minutes": 1,
        "enabled": true
    },
    "global_middlewares": [
        "ThrottleMiddleware"
    ]
}
```

Security Features
-----------------

[](#security-features)

- Throttle System
- Duplicate Request control system
- Rate limiting
- Input validation
- Output sanitization

Contributing
------------

[](#contributing)

Please read our [Contributing Guide](CONTRIBUTING.md) before submitting a Pull Request.

License
-------

[](#license)

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

Support
-------

[](#support)

- [Documentation](https://bandezadeh.ir/portfolio/ebcore/docs/index.html)
- [GitHub](https://github.com/sajjadbandezadeh/ebcore-framework)
- [Twitter](https://twitter.com/ebcorefw)

Acknowledgments
---------------

[](#acknowledgments)

Thank you to all contributors and developers who have helped build this framework.

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance49

Moderate activity, may be stable

Popularity10

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity48

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

Every ~17 days

Total

3

Last Release

371d ago

PHP version history (2 changes)v1.0.0PHP ^7.4 || ^8.0

v1.0.2PHP ^7.4 || ^8.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/cebd17080dc01a6280852c1babef474e7554b96dbfc9e4e6693645da773f3f65?d=identicon)[sajjadbandezadeh](/maintainers/sajjadbandezadeh)

---

Tags

ebcoreebcore-frameworkebcore-skeletonphp-frameworkphp frameworkebcoreebcore framework

### Embed Badge

![Health badge](/badges/ebcore-skeleton/health.svg)

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

###  Alternatives

[catfan/medoo

The lightweight PHP database framework to accelerate development

4.9k1.5M194](/packages/catfan-medoo)[phphleb/framework

Engine for Framework HLEB2

233318.7k12](/packages/phphleb-framework)[popphp/popphp

Pop PHP Framework, a lightweight, robust PHP framework

5713.5k9](/packages/popphp-popphp)[rougin/slytherin

A simple and extensible PHP micro-framework.

1113.1k4](/packages/rougin-slytherin)[zemit-cms/core

Build high-performance PHP applications faster with Phalcon Kit — a modular developer toolkit that extends the Phalcon framework.

138.2k1](/packages/zemit-cms-core)

PHPackages © 2026

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