Dalam beberapa hari ke depan, Masino Extensions untuk PHPMaker 2026 akan dirilis. Sebelum dirilis, ada baiknya untuk mengetahui kode apa saja yang berubah dari PHPMaker 2025 ke PHPMaker 2026, sekaligus sebagai pengingat, siapa tahu kalian akan menggunakannya kelak.
Setelah cukup ribet dan sedikit membingungkan menggunakan loadjs pada PHPMaker 2025, maka di PHPMaker 2026 sudah tidak lagi menggunakan kode tersebut.
Menurut dokumentasinya, PHPMaker 2026 mengganti loadjs dengan Symfony WebLink untuk mengambil aset-aset yang bersifat kritikal lebih awal. Sekarang JavaScript dapat ditulis dan dieksekusi sama seperti di versi-versi PHPMaker sebelum loadjs diperkenalkan.
Oleh karena itu, kalian perlu menghapus semua kode JavaScript yang menggunakan loadjs pada project PHPMaker 2026 (jika project kalian berasal dari PHPMaker 2025), cukup tulis JavaScript-nya secara langsung. Lebih simpel, dan gak ribet lagi!
Jika kalian menggunakan loadjs.ready(..., handler) sebelum skrip yang dibutuhkan dimuat oleh tag <script>, kalian dapat menggantinya dengan:
document.addEventListener("DOMContentLoaded", handler)
atau:
ew.on("dom", handler)
Berikut ini beberapa contoh perubahannya:
| No | PHPMaker 2025 | PHPMaker 2026 |
| 1. | loadjs.ready("load", function () { | ew.on("load", function () { |
| 2. | loadjs.done("clientvars"); | ew.emit("clientvars"); |
| 3. | ew.ready(["wrapper", "jquery"], ew.PATH_BASE + "jquery/jsrender.js?v=25.12.21", "jsrender", ew.renderJsTemplates); | ew.on("wrapper", ew.renderJsTemplates); |
| 4. | ew.ready("head", [ … | ew.emit("head"); |
| 5. | loadjs.ready(["wrapper", "head"], function() { | ew.on("wrapper", function() { |
| 6. | loadjs.done("wrapper"); | ew.emit("wrapper"); |
| 7. | loadjs.ready(ew.bundleIds, () => loadjs.isDefined("foot") || loadjs.done("foot")); | ew.emit("foot"); |
| 8. | ||
| 9. | ||
| 10. |
PHPMaker 2025:
loadjs.ready("load", function() {
PHPMaker 2026:
ew.on("load", function() {
PHPMaker 2025:
loadjs.done("clientvars");
PHPMaker 2026:
ew.emit("clientvars");
PHPMaker 2025:
ew.ready(["wrapper", "jquery"], ew.PATH_BASE + "jquery/jsrender.js?v=25.12.21", "jsrender", ew.renderJsTemplates);
PHPMaker 2026:
ew.on("wrapper", ew.renderJsTemplates);
PHPMaker 2025:
ew.ready("head", [ ...
PHPMaker 2026:
ew.emit("head");
PHPMaker 2025:
loadjs.ready(["wrapper", "head"], function() {
PHPMaker 2026:
ew.on("wrapper", function() {
PHPMaker 2025:
loadjs.done("wrapper");
PHPMaker 2026:
ew.emit("wrapper");
PHPMaker 2025:
loadjs.ready(ew.bundleIds, () => loadjs.isDefined("foot") || loadjs.done("foot"));
PHPMaker 2026:
ew.emit("foot");
Secara umum, perubahan kode Javascript yang digunakan di PHPMaker 2026 jauh menjadi lebih simpel. Tidak perlu lagi menggunakan loadjs yang cukup ribet dan membingungkan itu!
Dan akhirnya pindah/beralih ke salah satu framework PHP juga.
Iya, dan untungnya PHP Framework yang dipilih benar-benar yang keren, bukan yang kaleng-kaleng.