Search by

rith-1437 / zeroping

RITH-1437

ZeroPing is a lightweight, modern PHP framework with a clean MVC architecture, dependency injection, multi-driver ORM, validation, caching, queues, a task scheduler, and batteries-included CLI tooling. New projects run on SQLite with zero configuration.

Package info

github.com/RITH-1437/ZeroPing

Chat

Documentation

pkg:composer/rith-1437/zeroping

Fund package maintenance!

RITH-1437

Statistics

Installs: 21

Dependents: 0

Suggesters: 0

Stars: 1

Open Issues: 0

v2.0.0 2026-07-14 15:17 UTC

This package is auto-updated.

Last update: 2026-09-01 16:51:01 UTC


README

ZeroPing

ZeroPing

Clean. Expressive. Familiar.
A modern PHP framework built from scratch.

Latest Stable Version PHP >= 8.1 PHP Matrix License Tests Downloads

Introduction

ZeroPing is a lightweight, modern PHP framework built entirely from scratch — no third-party runtime dependencies, no configuration required to get started, and no hidden magic you can't trace. It ships with a clean MVC architecture, a fast dependency-injection container, an expressive Active Record ORM, fluent validation, multi-driver caching, a background queue, a task scheduler, and developer-friendly CLI tooling — all written by hand, all in one place.

The philosophy is simple: a framework should feel familiar, stay out of your way, and give you the tools to build anything without pulling in a forest of packages. ZeroPing is designed to be readable, hackable, and enjoyable to work with at any scale.

It is free, open-source, and created by Rin Nairith.

What makes ZeroPing different?

Zero third-party runtime dependencies. The entire framework — routing, ORM, DI container, validation, cache, queue, scheduler, encryption, and more — is implemented from scratch. Your production bundle carries no surprise transitive packages.

Zero configuration to run. Clone the repo, run php zero serve, and you have a working application on localhost:1437. Sane defaults are baked in; you only configure what you intentionally want to change.

MVC + DI + ORM, all from scratch. Most "lightweight" frameworks still delegate their ORM or container to a third-party library. ZeroPing doesn't. Every layer is purpose-built, coherent, and consistent in style.

A full developer experience out of the box. Code generation, a debug toolbar, route listing, environment verification, and a built-in development server are all available via the php zero CLI — no separate toolchain required.

Features

Category Features
Architecture MVC, Dependency Injection, Service Providers, Middleware Pipeline
Routing Static & Dynamic Routes, Route Groups, Prefixes, Named Routes
Database ORM with Relationships, Query Builder, Migrations, Seeding
Validation Fluent Validator, FormRequest, 20+ Built-in Rules
Security CSRF Protection, Encryption, Rate Limiting, Hashing
Performance File/Array/Database Cache, Route Caching, Config Caching
Background Queue with Sync/Database Drivers, Task Scheduler
Developer Experience CLI Tooling, Starter Templates, Debug Toolbar, Logging
Testing PHPUnit Integration, HTTP Assertions, Database Transactions

Installation

Zero CLI (recommended):

php zero new my-app
cd my-app
php zero serve

Composer:

composer create-project rith-1437/zeroping my-app
cd my-app
php zero serve

Open http://localhost:1437.

Quick Start

1. Define a route (config/routes.php):

use App\Core\Routing\Router;
use App\Controllers\GreetingController;

Router::get('/hello', [GreetingController::class, 'index']);

2. Create a controller (app/Controllers/GreetingController.php):

<?php

namespace App\Controllers;

use App\Core\View\Controller;

class GreetingController extends Controller
{
    public function index(): string
    {
        return view('greeting', [
            'name' => config('app.name'),
        ]);
    }
}

3. Create a view (views/greeting.php):

<h1>Hello from <?= e($name) ?>!</h1>

Start the server and visit your page:

php zero serve
# open http://localhost:1437/hello

CLI

ZeroPing ships with a powerful php zero CLI for code generation and project management.

Project

php zero serve              # Start the development server (default: port 1437)
php zero serve 8080         # Start on a custom port
php zero about              # Display framework info and environment summary
php zero doctor             # Verify environment requirements
php zero route:list         # List all registered routes with methods and names

Code Generation

php zero make:controller PostController       # Generate a controller
php zero make:model Post                      # Generate a model
php zero make:migration create_posts_table    # Generate a migration file
php zero make:seeder PostSeeder               # Generate a database seeder
php zero make:command SendEmailsCommand       # Generate a console command
php zero make:test PostControllerTest         # Generate a PHPUnit test class
php zero make:auth                            # Scaffold authentication (login, register, etc.)

Database

php zero migrate            # Run pending migrations
php zero migrate:rollback   # Roll back the last batch of migrations
php zero migrate:fresh      # Drop all tables and re-run all migrations
php zero db:seed            # Run database seeders

Utilities

php zero publish            # Publish framework assets for customization
php zero new my-app         # Create a new ZeroPing project

Documentation

Full documentation is available at zero-ping.duckdns.org:

Page Description
Introduction What ZeroPing is and why it exists
Installation Install and configure ZeroPing
Getting Started Build your first app
CLI Reference Complete CLI command reference
Database & ORM Models, relationships, migrations
Validation Rules, FluentValidator, FormRequest
Caching File, array, and database cache
Queues Background job processing
Scheduler Task scheduling
Security Encryption, hashing, CSRF
Testing Writing and running tests
Best Practices Recommended patterns and conventions
Deployment Deploying ZeroPing to production

Ecosystem

ZeroPing is more than a framework — it's a growing ecosystem of tools and services.

Product Description Status
Framework The core PHP framework Stable
CLI php zero developer toolchain Stable
Arena Benchmark dashboard, framework comparisons, performance charts, interactive playground Stable
Packages First-party and community packages Stable
Docs Full documentation website Stable
ZeroPing Deploy One-command deployment tooling Preview
ZeroPing Studio Visual project manager and GUI Preview
ZeroPing Cloud Managed hosting for ZeroPing apps Coming Soon
ZeroPing Forge Server provisioning and management Coming Soon
Showcase Apps built with ZeroPing Growing

Contributing

Contributions are welcome and appreciated. Here's how to get started:

  1. Fork the repository and clone it locally.
  2. Install dependencies: composer install
  3. Run the test suite to confirm everything passes:
    composer test
  4. Run static analysis:
    composer static-analysis
  5. Make your changes, add tests where relevant, and open a pull request.

Please read the contribution guide before submitting. All contributors are expected to follow the Code of Conduct.

Roadmap

Planned features and improvements for upcoming releases:

  • GraphQL support — first-party query layer on top of the existing ORM
  • WebSocket support — real-time events without external dependencies
  • Rate limiter improvements — sliding window algorithm and Redis driver
  • Improved CLI scaffolding — interactive prompts for all make:* commands
  • ZeroPing Cloud — managed hosting with zero-config deployment
  • ZeroPing Forge — automated server provisioning and management
  • Expanded test coverage — target 90%+ coverage across all core modules

See the GitHub Issues and Discussions for the full roadmap and to suggest features.

License

ZeroPing is open-source software licensed under the MIT license.