razenry / zen-php
A lightweight, modern, and reactive MVC framework for PHP with Service-Repository pattern and Zen Pulse
3.3.0
2026-08-12 13:54 UTC
Requires
- php: ^8.0
Requires (Dev)
- pestphp/pest: ^2.0
README
Zen PHP Framework adalah framework PHP modern, ultra-ringan, dan cepat yang mengombinasikan kesederhanaan arsitektur MVC dengan keandalan Service & Repository Pattern, Zen Pulse Reactive Engine, Real-Time SSE Streaming, serta Pengujian Otomatis Pest PHP.
Fitur Utama
- Service & Repository Pattern Standard: Pemisahan tegas antara Controller, Logika Bisnis (Services), dan Akses Data (Repositories) untuk skala solo maupun tim.
- Zen Pulse Reactive Engine: Komponen reaktif zero-dependency untuk mengikat state dan action (
zen-model,zen-click,zen-submit,zen-poll) tanpa javascript eksternal yang rumit. - Real-time SSE (Server-Sent Events): Streaming data dari server ke browser secara instan di
/_zen/sse. - Pest PHP Testing Integration: Dukungan pengujian otomatis (unit & feature testing) terintegrasi via
php zen testdanphp zen make:test. - Interactive Zen CLI Tool: Alat baris perintah berwarna untuk setup otomatis (
zen setup), migrasi database, dan generator (make:repository,make:service,make:pulse,make:test,make:controller,make:model,make:migration). - Expressive Laravel-like Routing: Pengaturan rute dinamis dengan named routes, middleware sederhana, dan error handling terpusat.
- Reusable UI Components: Sistem komponen UI yang bersih (
App::Component()) untuk membangun tampilan modular secara fleksibel.
Persyaratan Sistem & Instalasi
- PHP 8.0+ (PHP 8.3 / 8.4 kompatibel)
- MySQL / MariaDB
- Composer
Instalasi via Composer (Rekomendasi)
composer create-project razenry/zen-php my-app
cd my-app
php zen setup
Penggunaan Zen CLI
# Menampilkan semua perintah php zen # Setup proyek bersih php zen setup # Jalankan pengujian otomatis (Pest PHP) php zen test # Jalankan / refresh migrasi database php zen migrate php zen migrate:refresh # Generators (Scaffolding) php zen make:repository UserRepository php zen make:service UserService php zen make:pulse Counter php zen make:test UserServiceTest php zen make:controller ProductController php zen make:model Product php zen make:migration create_products_table
Struktur Direktori Project
zen-fr/
├── app/
│ ├── controllers/ # Controller Layer (Slim Controllers)
│ ├── core/ # Core Engine (App, Route, Model, ZenPulseComponent)
│ ├── helpers/ # Helper Functions (DateHelper, TextHelper)
│ ├── models/ # ORM & Database Models
│ ├── pulse/ # Zen Pulse Reactive Components
│ ├── repositories/ # Data Access Layer (Repository Pattern)
│ ├── services/ # Business Logic Layer (Service Pattern)
│ └── views/ # View Templates, Layouts & Components
├── database/
│ └── migrations/ # File Skrip Migrasi Database
├── public/
│ ├── js/zen-pulse.js # Engine JS Zen Pulse
│ └── uploads/ # Folder Upload Media
├── resources/
│ └── lang/ # Lokalisasi (ID, EN, JA)
├── routes/
│ └── web.php # Pendefinisian Route Aplikasi
├── tests/ # Test Suite Pest PHP & PHPUnit
│ ├── Feature/ # Feature / Integration Tests
│ └── Unit/ # Unit Tests
├── .env # Konfigurasi Environment & Database
└── zen # Interactive CLI Executable
Struktur Branch Repository
Repository ini dipisahkan menjadi 2 branch utama untuk memudahkan pengembangan dan deployment:
main(Branch Saat Ini): Clean Framework Starter. Siap digunakan langsung untuk membangun aplikasi baru tanpa perlu menghapus file/konfigurasi dokumentasi.docs: Documentation & Reference Site. Berisi seluruh file markdown dokumentasi beserta engine pembaca dokumentasi internal di rute/docs.
Mengakses Dokumentasi Lokal
Jika Anda ingin menjalankan situs dokumentasi interaktif secara lokal:
git checkout docs php -S localhost:8000
Lalu buka http://localhost:8000/docs di browser Anda.