Download the PHP package wiznetic/corenetic-base without Composer
On this page you can find all versions of the php package wiznetic/corenetic-base. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download wiznetic/corenetic-base
More information about wiznetic/corenetic-base
Files in wiznetic/corenetic-base
Package corenetic-base
Short Description Corenetic Framework — bare core skeleton. A modular PHP framework with attribute-based routing, middleware pipeline and event-driven kernel.
License MIT
Informations about the package corenetic-base
Corenetic Framework
A modular PHP framework with attribute-based routing, middleware pipeline, and an event-driven kernel. Install only what you need — nothing more.
Installation
Directory Structure
app/Base/ — Your Application
All your application code lives here, organized by convention:
The Kernel
The kernel (wiznetic/kernel) is the heart of the framework.
It runs a three-phase pipeline on every HTTP request:
Each phase has three hooks: before, on, after.
Modules attach their logic to these hooks during register().
HTTP entry (public/index.php):
CLI entry (console):
Module System
What is a Module?
A module is a self-contained directory in app_modules/ that encapsulates a single responsibility.
The framework auto-discovers and registers every module at startup — no manual wiring needed.
Module Registration
At startup, System\Bootstrap\Modules loops through every directory in app_modules/,
registers its PSR-4 namespace, and calls ModuleName\Bootstrap\ModuleName::register().
Module Architecture
| Layer | Role |
|---|---|
Bootstrap |
Registers the module with the Kernel. No logic. |
Dependencies |
One class per external dependency (Composer package or another module). |
Containers |
Assembles Dependencies and Models. The only place that knows how the module is built. |
Services |
Business logic. Receives the Container. The only public API. |
Rule: Other modules only use Services. Never Dependencies, Models, or Containers directly.
Dependency Types
Required Dependency
The module cannot function without it.
Add to required/modules and import directly.
Optional Dependency
The module works without it — the other module just enhances it.
Use class_exists() in Bootstrap instead of listing in required/modules.
Rule: If removing module B breaks module A → required. If removing module B only reduces performance or features of A → optional.
Creating a Module
1. Create the directory
2. Add module.json
3. Create the Bootstrap
4. Create the Service (Public API)
5. Use it anywhere
Running the Application
HTTP Server
CLI
Official Modules
Install any module by copying it into app_modules/ and running its required commands.
| Module | Description | Requires |
|---|---|---|
Config |
PHP config files, auto-discovered | — |
Discovery |
Attribute & class scanner (no direct Reflection) | — |
Router |
Attribute-based HTTP routing #[Get('/')] |
Discovery |
Middleware |
HTTP middleware pipeline | Discovery |
Blade |
Blade template engine | — |
Cache |
Multi-driver cache (file, Redis, APCu) | — |
Session |
Session management | — |
Auth |
Authentication & authorization | Session, Cache |
Eloquent |
Eloquent ORM + migrations | — |
Storage |
File storage | — |
Validator |
Input validation | — |
RateLimiter |
Rate limiting by IP or user | Cache |
Events |
Synchronous event dispatcher | — |
Notifications |
Multi-channel notification dispatcher | — |
Queue |
Async job queue (file driver built-in) | — |
QueueEloquent |
Database driver for Queue | Queue, Eloquent |
Mail |
Email via Symfony Mailer, async via Queue | Queue, Notifications |
MailBlade |
Blade templates for Mail | Mail, Blade |
Scheduler |
Cron task scheduler | — |
HttpClient |
Fluent HTTP client (Guzzle) | — |
Pagination |
Pagination data container | — |
Lang |
Key-based multi-language translations | Eloquent |
Naming Conventions
| Pattern | Example | Meaning |
|---|---|---|
Queue{Driver} |
QueueEloquent, QueueRedis |
Queue driver extension |
Mail{Template} |
MailBlade, MailMarkdown |
Mail template engine extension |
Notifications{Channel} |
NotificationsTwilio, NotificationsSlack |
Notification channel |
Environment Variables
Each module declares its env variables in required/env.
Copy them to your .env file as needed.
License
MIT