View
Adalah module yang menangani template renderer. Secara default, module ini
menyediakan renderer .phtml
, untuk dukungan renderer lain, silahkan install
juga module renderer yang tersedia.
Instalasi
Jalankan perintah di bawah di folder aplikasi:
mim app install lib-view
Penggunaan
Module core
pada service response
memiliki method render
yang
akan menggunakan module ini, contoh penggunaan pada kontroler:
// body method kontroler
$this->res->render('post/single', ['post'=>$post]);
phtml
Jika menggunakan renderer bawaan ( phtml
), maka method-method di bawah bisa digunakan
di dalam template:
partial(string $view, array $params=[], string $gate=null): ?string
asset(string $path, int $version=0): string
Custom Renderer
Jika ingin membuatkan custom renderer, pastikan renderer mengimplementasikan
interface LibView\Iface\Renderer
.
Pastikan juga mendaftarkan renderer tersebut di konfigurasi dengan cara sebagai berikut:
return [
// ...
'libView' => [
'handlers' => [
'renderer-name' => 'Renderrer\\Class'
]
],
// ...
];
Kemudian pada aplikasi, tambahan konfigurasi sebagai berikut:
return [
// ...
'libView' => [
'renderer' => 'renderer-name'
]
// ...
];
Sehingga masing-masing renderer harus memiliki method:
render(string $view, array $params=[], string $gate=null): string
Konten yang dirender oleh renderer tidak boleh diteruskan ke output buffer, semuanya harus dikembalikan ke handler dalam bentuk string.