koffinate / laravel-pack
Laravel plugin pack by Koffinate
Requires
- php: ^8.3
- ext-json: *
- archtechx/enums: ^1.1
- illuminate/auth: ^12.0|^13.0
- illuminate/container: ^12.0|^13.0
- illuminate/contracts: ^12.0|^13.0
- illuminate/database: ^12.0|^13.0
- illuminate/support: ^12.0|^13.0
Requires (Dev)
- orchestra/testbench: ^11.3
- phpunit/phpunit: ^13.3
Suggests
None
Provides
None
Conflicts
None
Replaces
None
- 1.x-dev
- dev-main / 1.x-dev
- v1.0.1
- v1.0.0
- v0.x-dev
- v0.3.9
- v0.3.8
- v0.3.7
- v0.3.6
- v0.3.5
- v0.3.4
- v0.3.3
- v0.3.2
- v0.3.1
- v0.3.0
- v0.2.12
- v0.2.11
- v0.2.10
- v0.2.9
- v0.2.8
- v0.2.7
- v0.2.6
- v0.2.5
- v0.2.4
- v0.2.3
- v0.2.2
- v0.2.1
- v0.2.0
- v0.1.8
- v0.1.7
- v0.1.6
- v0.1.5
- v0.1.4
- v0.1.3
- v0.1.2
- v0.1.1
- v0.1.0
- v0.0.15
- v0.0.14
- v0.0.13
- v0.0.12
- v0.0.11
- v0.0.10
- v0.0.9
- v0.0.8
- v0.0.7
- v0.0.6
- v0.0.5
- v0.0.4
- v0.0.3
- v0.0.2
- v0.0.1
- v0.0.0
- dev-first-dev
This package is auto-updated.
Last update: 2026-10-03 05:52:31 UTC
README
Laravel plugin pack by Koffinate. Kumpulan utilitas backend yang dipakai
bersama oleh aplikasi-aplikasi Koffinate (namespace Kfn\).
Modul
| Namespace | Isi |
|---|---|
Kfn\Base |
Fondasi: response terstandar (Response), exception terstandar (KfnException), kontrak response code, request, model, console, listener. |
Kfn\UI |
Lapisan UI admin: wrapper DataTable (HasUI, DataTableButtons), response view/redirect (UI\Response), middleware, form-request, view & helper Blade. |
Kfn\Database |
Utilitas database: Eloquent model dasar, trait (HasModel), blueprint. |
Kfn\Util |
Helper umum (Util/helpers.php) dan service provider-nya. |
Service provider yang didaftarkan otomatis (lihat extra.laravel.providers
di composer.json):
Kfn\Util\UtilServiceProviderKfn\Base\BaseServiceProviderKfn\UI\UiServiceProvider
Kontrak penting
1. Single-send response (wajib)
Kfn\UI\Response::toResponse(), KfnException::toResponse(), dan
KfnException::renderException() tidak boleh memanggil ->send().
Mereka hanya MEMBANGUN dan MENGEMBALIKAN respons; pengiriman adalah tugas
kernel Laravel, tepat satu kali. send() di dalam method ini menyebabkan
double-send (Cannot modify header information - headers already sent).
Aturan praktis:
- Di
toResponse()/renderException(): selalureturn $response;, janganreturn $response->send();. - Di cabang exception yang me-redirect (
KfnException::toResponse()):return $redirect->withInput();, biarkanabort()hanya sebagai fallback bila redirect gagal dibangun. - Pengecualian satu-satunya: pemanggil yang memang bertanggung jawab penuh
atas siklus respons (mis. middleware yang diakhiri
exit(), atau handlerdump()darurat) — dan itu harus eksplisit, bukan di Responsable.
2. Response terstandar
Gunakan Kfn\Base\Response / Kfn\UI\Response dengan ResponseCode
(Kfn\Base\Enums\ResponseCode) agar format rc / message / data
konsisten di seluruh API.
3. Exception terstandar
Lempar KfnException (dengan ResponseCode yang tepat) alih-alih
abort() / exception generik, supaya renderable() bootstrap bisa
memetakannya ke respons JSON atau redirect-back + flash yang benar.
Berkontribusi
Persyaratan: PHP ^8.3, Composer 2.
composer install composer test # menjalankan vendor/bin/phpunit
- Style kode mengikuti
pint.json(preset Laravel + aturan kustom). Jalankan Pint sebelum commit bila mengubah file disrc/. - Test memakai orchestra/testbench
- PHPUnit; harness ada di
tests/(Kfn\Tests\TestCase).
- PHPUnit; harness ada di
- Jangan commit
vendor/dan hasil test (sudah di.gitignore).