Download the PHP package hassanelzarkawy/origin without Composer
On this page you can find all versions of the php package hassanelzarkawy/origin. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download hassanelzarkawy/origin
More information about hassanelzarkawy/origin
Files in hassanelzarkawy/origin
Package origin
Short Description Modular architecture for Laravel applications
License MIT
Informations about the package origin
Origin — Modular Architecture for Laravel
Origin is a Laravel package that brings modular architecture to your application. It provides convention-based auto-discovery of routes, migrations, views, translations, config, commands, and factories — with zero boilerplate per module.
Requirements
- PHP 8.2+
- Laravel 11.x, 12.x, or 13.x
Installation
Laravel's package auto-discovery registers the service provider automatically. No manual configuration needed.
Publish the config file:
Quick Start
Documentation
| Page | Description |
|---|---|
| Configuration | All config options and what they do |
| Creating Modules | Module structure, make commands, and conventions |
| Auto-Discovery | How routes, migrations, views, etc. are wired automatically |
| Console Commands | Complete reference for all artisan commands |
| Module Load Ordering | Priority and dependency-based module ordering |
| Enabling & Disabling Modules | Toggle modules on and off |
| Publishing Module Assets | Publish views, config, and translations |
| Removing Modules | Clean removal of modules |
| Facade & API Reference | Programmatic usage via the Modular facade |
| Testing | Testing your modules |
How It Works
Origin uses wikimedia/composer-merge-plugin to integrate modules with Composer. Each module gets its own composer.json, and the merge plugin automatically includes modules/*/composer.json when you run composer update.
On every request, Laravel boots the Origin\ModularServiceProvider. This provider:
- Scans the
modules/directory for module directories - Filters out any disabled modules
- Resolves the correct load order (respecting priority and dependencies)
- Registers each module's
ServiceProviderwith Laravel
Each module's ServiceProvider extends Origin\ModuleServiceProvider, which auto-discovers and registers:
- Routes —
routes/web.phpandroutes/api.php - Migrations —
database/migrations/ - Views —
resources/views/(namespaced as{module}::) - Translations —
resources/lang/ - Config —
config/*.php - Commands —
Commands/ - Factories —
database/factories/
Everything is convention-based. If the file or directory exists, it's registered. If it doesn't, it's silently skipped.
Module Directory Structure
License
MIT
All versions of origin with dependencies
illuminate/console Version ^11.0|^12.0|^13.0
illuminate/filesystem Version ^11.0|^12.0|^13.0
illuminate/support Version ^11.0|^12.0|^13.0
wikimedia/composer-merge-plugin Version ^2.0