Kodhe Framework adalah pengembangan modern dari CodeIgniter 3 yang dirancang untuk memberikan pengalaman pengembangan aplikasi yang lebih efisien, modular, dan sesuai dengan standar modern. Kodhe Framework mendukung namespace, dependency injection (DI), HMVC, dan templating modern seperti Blade Laravel.
-
Dukungan Namespace
Kodhe Framework menggunakan namespace untuk struktur yang lebih rapi:appControllersModelsLibrariesServices
-
Dependency Injection (DI)
Mendukung DI untuk controller dan service, mempermudah manajemen dependensi.// DI di Controller public function __construct(App\Services\PostServices $postService) { $this->postService = $postService; }
-
HMVC (Hierarchical Model-View-Controller) Mendukung arsitektur modular untuk mempermudah pengembangan aplikasi berskala besar.
appModules/BlogControllersModelsViews
-
Blade Template Menggunakan library mirip Blade Laravel untuk templating.
$this->blade->render('post', $data);
-
Services Memisahkan logika bisnis dari controller untuk kode yang lebih bersih dan terorganisir.
namespace App\Services; class PostServices { public function getAllPosts() { // Logika bisnis } }
-
Dukungan Default Super Object CodeIgniter 3 Tetap mendukung fitur bawaan CI3 seperti $this->load, $this->input, $this->db, dll.
-
Berbasis CodeIgniter 3 Kodhe Framework sepenuhnya kompatibel dengan fitur-fitur dasar CodeIgniter 3.
-
Standar Penamaan File dan Folder
Nama folder dan file diawali huruf besar (contoh: PostModel.php). Penamaan class tidak menggunakan tanda underscore _ (contoh: PostModel, bukan post_model).
- Composer repositori Kodhe Framework:
composer create-project karyakode/kodhe --stability dev
- Clone repositori Kodhe Framework:
git clone https://github.com/karyakode/kodhe.git
- Install dependensi melalui Composer:
composer install
- Konfigurasi database di file application/config/database.php.
- Jalankan aplikasi: Letakkan proyek di direktori server Anda (misalnya: htdocs untuk XAMPP). Akses aplikasi melalui browser, contohnya: http://localhost/kodhe.
appControllersModelsViewsModules# Untuk HMVCServices# Untuk logika bisnisLibraries# Untuk library tambahan
- Membuat Controller
use App\Services\PostServices; class PostController extends BaseController { protected $postService; public function __construct(PostServices $postService) { $this->postService = $postService; } public function index() { $data['posts'] = $this->postService->getAllPosts(); return $this->blade->render('post.index', $data); } }
- Membuat Service
namespace App\Services; use App\Models\PostModel; class PostServices { protected $postModel; public function __construct(PostModel $postModel) { $this->postModel = $postModel; } public function getAllPosts() { return $this->postModel->findAll(); } }