The Core Engine of the WASF PHP Framework
WASF Core adalah inti dari seluruh ekosistem WASF Framework.
Package ini menyediakan semua komponen fundamental seperti Routing, HTTP Kernel, Console Engine, View/Blade compiler, Database Wrapper, Environment loader, dan berbagai helper yang digunakan oleh project wasf-app.
WASF Core bukan aplikasi, tetapi mesin inti (engine) yang menjalankan seluruh kemampuan framework WASF.
Developer biasanya tidak membuat aplikasi langsung di atas Core — melainkan menggunakan template wasf-app.
Namun untuk kontribusi, debugging, atau pengembangan fitur baru, inilah package yang memuat seluruh sistem:
- Routing system
- Request/Response kernel
- Exception handler
- Environment loader
- HMVC module loader
- Blade template compiler
- CLI command handler
- Database PDO wrapper
Tambahkan ke project berbasis Composer:
composer require abesarrr/wasf-coreJika digunakan bersama wasf-app, package ini sudah otomatis terinstal.
Routing di WASF dibangun sederhana namun fleksibel:
$router->get('/', 'HomeController@index');
$router->get('/user/{id}', 'UserController@show');
$router->post('/login', 'AuthController@login');Mendukung:
- Method GET, POST, PUT, PATCH, DELETE
- Parameter dinamis
{id} - Controller@method format
- Auto-binding module routes
- (Roadmap) Middleware & route group
HTTP Kernel menangani:
- Mem-parsing request
- Menentukan route yang cocok
- Menjalankan controller
- Menghasilkan response yang benar
- Handling status code
Contoh response:
return response()->json(['success' => true]);Semua perintah CLI WASF dijalankan melalui console core:
php wasf list
php wasf make:controller HomeController
php wasf make:module Blog
php wasf migrate
php wasf key:generateSemua command berada di:
src/Console/Commands/
Developer bisa membuat command custom.
Core menyediakan compiler untuk Blade engine:
return view('dashboard', ['title' => 'Welcome']);View akan dikompilasi ke:
storage/views/
WASF Core mendukung arsitektur modul:
Modules/Blog/
├─ Controllers/
├─ Models/
├─ Views/
└─ routes.php
Semua route module akan otomatis dimuat oleh Core.
Menggunakan PDO secara sederhana:
DB::connect([
'driver' => 'mysql',
'host' => '127.0.0.1',
'port' => 3306,
'database' => 'wasf',
'username' => 'root',
'password' => '',
]);Ambil instance PDO:
$pdo = DB::pdo();Core menyediakan helper umum:
base_path();
app_path();
config();
env();
view();
response();Termasuk autoloader untuk .env dan config.
Mengambil env dengan:
env('WASF_KEY');Core juga menyediakan fitur:
- Memuat
.envotomatis - Mendukung WASF_KEY sebagai encryption key
src/
├─ Console/
│ ├─ Commands/
│ └─ Kernel.php
├─ Database/
│ └─ DB.php
├─ Exceptions/
├─ Http/
│ ├─ Controllers/
│ ├─ Request.php
│ ├─ Response.php
│ └─ Router.php
├─ Support/
│ ├─ helpers.php
│ ├─ Env.php
│ └─ View.php
└─ Wasf.phpwasf-app menjalankan bootstrap core:
bootstrap/app.php
Yang akan:
- Load environment
- Load core engine
- Register router
- Load module routes
- Run the application
Karena Core adalah engine utama, kontribusi harus mengikuti standar stabilitas yang tinggi.
- Fork repository
- Buat branch baru:
git checkout -b feature/nama-fitur
- Tambahkan dokumentasi & test (jika tersedia)
- Submit pull request
Untuk pelaporan celah keamanan:
📧 wasuryanto3@gmail.com
subject: "WASF Core Security"
Jangan membuat issue publik.
- Middleware Support
- Session Manager
- Cookie Encryption
- Cache System
- Validation Engine
- Module Autodiscovery
- File Storage Abstraction
- Logging System
- HTTP Client
- Event & Listener System
WASF Core dirilis dengan lisensi MIT.