memran/marwa-framework

MarwaPHP - A future‑proof, PSR‑compliant PHP framework core.Minimal, modular, and fast — with developer‑friendly APIs.

Maintainers

Package info

github.com/memran/marwa-framework

pkg:composer/memran/marwa-framework

Statistics

Installs: 52

Dependents: 1

Suggesters: 0

Stars: 0

Open Issues: 0

v1.2.0 2026-04-09 11:51 UTC

This package is auto-updated.

Last update: 2026-04-09 11:56:45 UTC


README

Packagist Latest Version Total Downloads CI License PHP PHPStan PHPUnit

Marwa Framework is a lightweight, PSR-aligned PHP 8.2+ framework core for modular web apps, console tools, and reusable runtime services.

What It Includes

  • HTTP kernel, middleware pipeline, router integration, and lifecycle events
  • Twig-based views with themes, modules, and base controller helpers
  • Console application, scaffolding commands, scheduler, queue, and bootstrap cache
  • Sessions, validation, security, cache, storage, mail, notifications, Kafka publish/consume, HTTP client, and error handling
  • marwa-db and marwa-module integration for app-level runtime features

Install

composer require memran/marwa-framework

For local development:

git clone https://github.com/memran/marwa-framework.git
cd marwa-framework
composer install
cp .env.example .env

Quick Start

use Marwa\Framework\Application;

$app = new Application(__DIR__);
$app->boot();
$response = $app->http()->handle($request);
php bin/console make:controller Admin/PostController --resource
php bin/console make:seeder UserSeeder
php bin/console make:model Billing/Invoice --migration
php bin/console make:module Blog
php bin/console make:theme dark --parent=default
php bin/console shell
php bin/console security:report --since-hours=24 --prune-days=30
php bin/console db:seed --class=DatabaseSeeder
php bin/console schedule:run --for=60 --sleep=1

Documentation

Notes

  • Generated controllers extend Marwa\Framework\Controllers\Controller.
  • Validation failures flash _old_input and errors into the session.
  • Theme manifests live in resources/views/themes/<theme>/manifest.php by default.
  • APP_KEY is required for encrypted sessions.

Development

composer test
composer analyse
composer lint