Penantian panjang itu akhirnya berakhir juga. Hari ini, Senin, 7 September 2020, PHPMaker versi 2021 resmi dirilis. Barusan saya langsung purchase upgrade License-nya. Sambil menunggu License Key diproses, langsung download dan install, termasuk file project demonya.
O iya, hati-hati saat menjalankan script demo2021.sql dari demo project, yang berisi perintah untuk membentuk table dan data di database. Mengapa saya ingatkan demikian, karena di versi-versi sebelumnya, script .sql ini hanya untuk membangkitkan table dan data. Sedangkan di versi 2021 ini, script .sql tadi juga berisi perintah untuk membuat database baru bernama demo2021.
Selain itu, di dalam script demo2021.sql ini, ada 2 lokasi yang menggunakan COLLATE = utf8mb4_0900_ai_ci. Hal ini menimbulkan error jika di database MySQL kita belum mendukung COLLATE tersebut. Oleh karena itu, jika saat Anda menjalankan script .sql tersebut mengalami error, tinggal ganti saja utf8mb4_0900_ai_ci menjadi utf8mb4_general_ci.
Oke itu dulu untuk script .sql, yang tadi sempat mengalami hambatan kecil ketika akan membentuk table dan data di database demo2021 yang biasanya selalu saya create terlebih dulu. Sekarang mari kita bedah satu per satu, apa saja yang baru di versi 2021 ini.
Seperti biasanya Saudara-saudara… ada perubahan besar di versi major yang baru ini. Tidak seperti di versi-versi major sebelumnya, di versi 2021 ini, PHPMaker resmi sudah menggunakan PHP Framework. Bukan Laravel, bukan Yii, bukan CodeIgniter, bukan CakePHP, tetapi yang dipilih adalah Slim Framework.
Slim bukanlah PHP Framework yang kompleks, tapi sangat sederhana, dan sudah terbukti powerful. Fungsinya kurang lebih hanya untuk melakukan Routing. Sedangkan fungsi-fungsi atau fitur-fitur lainnya yang sering kita jumpai dalam PHP Framework, akan ditangani oleh PHPMaker itu sendiri.
Tentu saja ada pertimbangan mengapa PHPMaker memilih untuk menggunakan Slim Framework. Sekilas dari dokumentasi yang saya baca melalui link di atas, Slim Framework meyakinkan kita bahwa framework mereka memang tidaklah sama dengan PHP Framework lainnya, seperti Symfony atau Laravel.
Berikut ini cuplikan dari dokumentasi di website-nya, dan sepertinya PHPMaker sengaja menggunakan Slim Framework karena kelebihan yang dimiliki oleh framework ini berbeda jauh dengan PHP Framework lainnya yang sudah banyak beredar di Internet:
Slim is a PHP micro framework that helps you quickly write simple yet powerful web applications and APIs. At its core, Slim is a dispatcher that receives an HTTP request, invokes an appropriate callback routine, and returns an HTTP response. Thatβs it.
Slim is an ideal tool to create APIs that consume, repurpose, or publish data. Slim is also a great tool for rapid prototyping. Heck, you can even build full-featured web applications with user interfaces. More importantly, Slim is super fast and has very little code. In fact, you can read and understand its source code in only an afternoon!
You donβt always need a kitchen-sink solution like Symfony or Laravel. These are great tools, for sure. But they are often overkill. Instead, Slim provides only a minimal set of tools that do what you need and nothing else.
Slim adalah framework kecil PHP untuk membantu Anda dengan cepat menulis aplikasi web dan API yang sederhana tapi memiliki kemampuan yang luar biasa. Pada bagian intinya, Slim adalah sebuah operator yang menerima sebuah permintaan HTTP, memanggil balikan fungsi yang sesuai, dan mengembalikan dalam bentuk respon HTTP. Itu saja.
Perhatikan di alinea terakhir pada cuplikan tersebut. Diakui bahwa Symfony atau Laravel memang bagus, tapi sering kali PHP Framework seperti itu dianggap terlalu berlebihan dan tidak selalu cocok digunakan, khususnya untuk PHPMaker. Slim Framework, seperti namanya, berbeda jauh. Dia ramping, hanya menyediakan sekumpulan perangkat yang minimal yang hanya dibutuhkan oleh PHPMaker.
Jadi sekali lagi, Slim Framework fokus pada operator yang bertugas untuk menerima permintaan HTTP, memanggil rutinitas panggilan balik yang sesuai, dan mengembalikan sebuah respon HTTP. Ya, hanya itu saja. Begitulah core dari Slim Framework. Urusan lainnya, tentu saja sudah ditangani oleh PHPMaker itu sendiri.
Dengan menggunakan PHP Framework, itu artinya mulai PHPMaker 2021 sudah menggunakan 100% konsep MVC (Model-View-Controller). File-file script yang di-generate tidak lagi ditempatkan di bawah root dari folder aplikasi web. Tetapi sekarang ditempatkan masing-masing ke dalam tiga sub-folder models, views, dan controllers.
Seiring dengan perubahan ini, maka mulai versi 2021 ini, aplikasi web yang dihasilkan oleh PHPMaker sudah menggunakan URL yang SEO-Friendly. Itu artinya, kita wajib mengaktifkan rewrite_module di web server yang kita gunakan. Jadi, kalau misalnya dulu menggunakan URL seperti modelsview.php?ID=1, maka sekarang menggunakan modelsview/1. Bahkan, PHPMaker juga menangani jika Primary Key terdiri dari beberapa field! Wow, keren ya?
Fitur tersebut sekaligus menjawab beberapa permintaan di bagian Feature Requests yang menginginkan supaya URL yang dihasilkan oleh aplikasi web yang dibangkitkan oleh PHPMaker menjadi SEO-Friendly. Terjawab sudah. Satu lagi nilai plus yang diberikan oleh PHPMaker.
Fitur baru lainnya yang tak kalah canggih di versi 2021 ini adalah penggunaan component Select2 yang menggantikan control jadul Select atau Combobox yang biasa. Pertama kali waktu ingin mencoba fitur ini, saya sedikit mencari-cari settingan Select2 di Fields setup. Ternyata memang tidak ada opsi yang bernama Select2.
Sebagai solusinya, ternyata kita harus mengaktifkan pilihan Requires search yang terdapat pada panel Edit Tag di dalam Fields setup. Jika pilihan ini tidak kita aktifkan, maka PHPMaker akan men-generate control Select yang jadul atau yang biasa selama ini digunakan; tapi tetap menggunakan Select2.
Akhirnya, fitur yang dulu saya usulkan, dikabulkan juga di versi 2021. Senang rasanya. Satu lagi fitur unggulan yang tak kalah canggih di PHPMaker 2021.
Tapi,sayangnya, di versi 2021 ini, PHPMaker belum mengabulkan permintaan yang cukup banyak peminatnya, yaitu Form Layout (belakangan, topik ini dihapus oleh moderator, entah apa alasannya, huh!). Cukup kecewa juga saya, karena fitur ini seharusnya sudah bisa mereka tambahkan di versi 2021 ini.
Mungkin, karena perubahan besar yang mereka lakukan dengan menggunakan Slim Framework tersebut, membuat fitur Form Layout ini menjadi mereka tunda. Atau bisa jadi mereka salah mengartikan permintaan ini sebagai fitur visual form layout. Padahal, bukan itu sebenarnya yang kita maksudkan. Kitaaa? Lu aja kali, hehehe…. π
Kembali ke fitur baru lainnya. Mulai versi 2021 ini, PHPMaker juga sudah tidak lagi menggunakan ADODB (database library). Sebagai gantinya, dia menggunakan DBAL (database abstraction & access layer) and PDO.
Dampak dari perubahan ini, kode untuk mengakses data, khususnya jika harus looping ke recordset, menjadi lebih ringkas. Seperti yang sudah kita ketahui bersama, kalau menggunakan ADODB, kita harus menggunakan method MoveNext untuk maju ke record berikutnya. Sedangkan jika menggunakan DBAL, tidak perlu lagi menggunakan method itu. Demikian juga method Close di ADODB, maka dengan menggunakan DBAL, kita tidak perlu lagi menggunakan method ini.
Fitur baru lainnya, PHPMaker mulai menggunakan PSR-12, sebuah coding-standard yang menggunakan aturan penulisan nama method dengan camelCase. Oleh karena itu, server event seperti Row_Rendered (misalnya) yang sebenarnya adalah method dari class table, akan di-generate di file script menjadi rowRendered.
Sedangkan di dalam project PHPMaker itu sendiri, tetap menggunakan nama Row_Rendered. Jadi, jangan kaget jika Anda ingin mencari kode di server event Row_Rendered pada file script yang dibangkitkan oleh PHPMaker, kata tersebut tidak ada, tapi sudah diganti menjadi rowRendered. Di awal-awal memang kelihatan aneh dan lucu, tapi lama-kelamaan nanti kita pasti akan terbiasa, hehehe…
Fitur baru lainnya yang kelihatan sederhana tapi membawa dampak yang sangat besar khususnya jika kita membangun beberapa aplikasi web sekaligus, adalah fitur Locale File. Mulai versi 2021 ini, setting locale tidak lagi disimpan di file locale yang berekstensi .json, tapi disimpan di sisi project PHPMaker.
Itu artinya, jika kita upgrade file project ke versi major PHPMaker berikutnya, kita tidak perlu repot-repot men-setting ulang file .json tadi. Tapi, oleh PHPMaker akan otomatis membaca setting yang disimpan di sisi project. Wow, keren! Ini adalah salah satu request yang dulu pernah saya dukung.
Fitur baru yang canggih lainnya adalah, sekarang PHPMaker sudah mendukung pemakaian Git. Itu artinya, para Web Developer dapat men-share file project-nya di Github. Fitur atau menu Git ini akan aktif di project, setelah kita mengisi pengaturan yang terdapat di menu Tools -> Advanced Settings -> Git repor URL, Git username, Git password, Git auto fetch, Git auto fetch period (seconds).
Fitur baru lainnya yang mungkin bagi sebagian Web Developer dinantikan, yaitu SweetAlert2 untuk menampilkan pesan dalam jendela kotak dialog atau pesan alert, menggantikan Modal dialog bawaan Bootstrap yang sangat standar itu. Saya sendiri sebenarnya masih tetap lebih suka dengan AlertifyJS.
Alasan mengapa saya lebih suka menggunakan AlertifyJS, karena di sini kita tidak saja bisa menggunakannya untuk menampilkan pesan, tapi juga bisa menampilkan jendela dialog yang bisa digeser/diseret ke posisi yang kita inginkan. Sedangkan SweetAlert2 tidak bisa, sehingga terkesan kurang dinamis. Namanya saja Sweet tapi kurang begitu manis terasa, kecuali saat menampilkan pesan sukses, ada icon centang menggunakan animasi, hehehe, hiks! π
Secara umum, kalau dari sisi tampilan masih belum terlalu ada perbedaan, karena aplikasi web yang dihasilkan oleh PHPMaker masih menggunakan theme gratisan yaitu AdminLTE. Hal ini sekaligus menjadi peluang untuk tetap menggunakan theme/template yang saya pakai di Masino Extensions for PHPMaker 2020, akan saya implementasikan saja buat PHPMaker 2021. Tunggu tanggal mainnya, ya! Sabar… sabar… hehehe…
ameisfine mengatakan
Congrats! PHPMaker 2021 terlihat semakin mantap. I love it too. Fitur kolaborasi yang pengin sy coba.. tapi sama siapa yaaa. hehe
Masino Sinaga mengatakan
Sama akulah, hehehe… hohoho… hihihi… π
Iwan Gunawan mengatakan
Pak Masino Sinaga, perkenalkan nama saya Iwan, skrng saya pengguna phprunner, dr tulisan2 Bapak spertinya phpMaker lebih menarik, boleh saya hubngi Bapak via Whatsapp? Atau Email?
Masino Sinaga mengatakan
Halo mas Iwan, salam kenal kembali. Email saya: masino[dot]sinaga[at]gmail[dot]com.
Arief Noorshiam mengatakan
Hehehe… ternyata mobhar di forum hkvstore itu pak Masino ?? Pantas saja setiap jawaban yang diberikan mantab banget, saya pernah soalnya ^_^
Ayo pak, kapan relesase untuk extension PHPMaker 2021 nya? Ntar saya upgrade deh license saya yg saat ini baru di versi 2020 … (plus upgrade membership di ilovephpmaker juga tentunya) ^_*
Masino Sinaga mengatakan
Hehe, mobhar itu ada historinya, lho. Mobhar itu singkatan dari mobil harapan. Dulu saya ingin membeli mobil, dan harapan saya dapat terwujud setelah menggunakan PHPMaker. Nah lho, bingung kan hubungannya dimana? Hehehe… tapi yang jelas, harapan saya itu akhirnya bisa terwujud.
Masino Extensions for PHPMaker v2021 akan dirilis dalam satu minggu ke depan.
P. Tobing mengatakan
oalaahhhh…. mobhar is masino toh…
btw… PHPMaker 2020 baru aja dipelajari, udah muncul 2021.. jadi enaknya gimana nih.. loncat ke 2021 aja atau dalami 2020.. takut kudet alias kurang update euy.. hehehe
Masino Sinaga mengatakan
Hehehe… π
Kalau sanggup dalami dua-duanya bagus, jadi bisa membandingkan secara langsung, sehingga dapat mengambil keputusan, mau pakai 2021 atau 2020. π
Kalau langsung loncat ke v2021 juga boleh, asalkan sabar-sabar saja jika ada temuan fitur yang masih belum terlalu sempurna.
Seperti versi2 major sebelumnya, selalu ada perbaikan maupun penyempurnaan berdasarkan temuan-temuan user yang dilaporkan, baik ke Support-nya, maupun lewat forum diskusinya.
Bayu mengatakan
Halo Bang,
Mau nanya. Saya bikin pake PHPmaker2017. PHP versi 7.
Saya bikin page master/detail.
Ada detail lebih dari 50 rows bahkan ada yang lebih dari 100 rows.
Setelah save, data tidak ada yang tersimpan tapi juga tidak ada error.
Kenapa ya Bang?
Apakah harus pakai versi PHPmaker lebih baru?
Terima kasih.
Masino Sinaga mengatakan
Usahakan maksimal baris di bagian Detail tidak lebih dari 20. Anda bisa membatasinya di bagian paging, 20 record per halaman (misalnya).
Bayu mengatakan
Apakah harus di-enable “Paging section at edit page” ?
Masino Sinaga mengatakan
Yes.
Bayu mengatakan
Pantas kuduga.
Makasih Bang. GBU.
Masino Sinaga mengatakan
Sama-sama.
Dermawan Adji Saputra mengatakan
Hai mas, salam kenal.
Saya pengguna baru PHPMaker 2021.
Bagaimana menentukan Page mana yang bisa dibuka oleh user? saya sudah mengaktifkan fitur administrator login dan use existing table untuk user. tapi saat user login semua page dapat diakses oleh user tersebut.
Terimakasih
Masino Sinaga mengatakan
Salam kenal kembali mas Dermawan.
Apakah sudah mencoba demo project yang disediakan oleh PHPMaker?
ayyash mengatakan
Selamat Malam mas,
mau tanya, kenapa phpmaker untuk sidebar, pada saat klik tanda garis tiga,menu hilang juga,beda dengan adminlte yang didownload terbaru untuk aplikasi2 lain ,kalau di klik tanda garis tiga,akan colapse,tapi icon tetap tampil.
Masino Sinaga mengatakan
Karena by default, PHPMaker tidak menyediakan setting untuk menampilkan mini-sidebar.
SKRIfighterSI mengatakan
Terimakasih Pak Masino Sinaga a.k.a Pak Mobhar.. Saran dan penjelasan dari sang ‘ahlinya ahli’ memang beda, sangat bermanfaat, singkat padat dan jelas.
Sy masih pemula dan mau nanya Pak, pada phpmaker (sy pke versi 2020), apakah bisa membuat form input yang berisi ‘input tag berulang’ sebanyak n kali, lalu nanti saat selesai input dan di submit akan tersimpan menjadi sejumlah n record juga? Klo bisa spt itu, bagaimana dan di mana harus mengotak-atiknya Pak? Terimakasih sebelumnya Hehee..
Masino Sinaga mengatakan
Pakai fitur Grid-Add dan Grid-Edit. Aktifkan dari bagian Table setup -> List Page, lalu generate ulang semua file script seperti biasa.
SKRIfighterSI mengatakan
Terimakasih pak responnya, cuss saya otak atik dulu.
Sukses selalu buat Pak Masino Sinaga sekeluarga
Masino Sinaga mengatakan
Sama-sama. π
Khemal Youwangka mengatakan
Siang mas, saya ada kendala ketika saya pindahkan hasil generate phpmaker ke hosting, saat web dibuka ada error log seperti :
[05-Oct-2020 11:26:03 Asia/Jakarta] PHP Parse error: syntax error, unexpected ‘?’, expecting variable (T_VARIABLE) in /home/impr6783/public_html/gbh/vendor/slim/slim/Slim/Factory/AppFactory.php on line 84
kira-kira soulisnya bagimana ya mas?
Masino Sinaga mengatakan
Pastikan hosting nya support PHP versi 7.3 ke atas.
Dermawan Adji Saputra mengatakan
Sore Mas,
Mau tanya mas, bisa ga yah kira-kira ketika kita buat form input file, saat akan menginput langsung terbuka aplikasi camera android?
Masino Sinaga mengatakan
Selamat pagi.
Mohon maaf, kalau yang itu saya belum pernah coba.
Tomo mengatakan
Phpmaker 2021 lebih lama respon timenya dari 2020, mohon dishare klo ketemu solusinya
Masino Sinaga mengatakan
Lamanya berapa detik? Sudah sampaikan ke forum diskusinya? Supaya team developer-nya bisa cek dan memastikan response time nya sesuai yang Anda inginkan?
Hanafi Ali mengatakan
Selamat siang
Mau nanya Mas Masino,
Apa di phpmaker bisa menampilkan data dari database tidak harus dlm bentuk tabel list?
Trims
Masino Sinaga mengatakan
Selamat pagi.
Bisa mas. Tinggal tentukan nilai Multiple column dari Table setup -> Table-specific Options, lalu disable Use global settings -> List Page, lalu generate ulang semua file script seperti biasa.
nur syamsu mengatakan
Dear Pak Masino,
Mohon advice lagi, dalam 2 hari ini saya sudah pelajari & praktekkan security sbb :
a. User ID Security –> Secure data at record level
b. User Level Security –> Secure data at table leve
i) Static user level
ii) Dynamic user level
Dan yes, akhirnya berhasil.
Termasuk juga di versi PHPMaker 2021 ini, User Level Security mendukung multiple suer level sebagaimana keterangan di “help” sbb :
2.If the User Level Field is of integer type, the field can only store one user level, each user can only belong to one user level. From v2021, the field can be of string type, then it can store mulitple user levels as comma separated values, the user can belong to multiple user levels.
Dan lagi2 yes, saya praktekkan berhasil untuk multiple user levels ini.
Namun yg saya masih perlu saya gali lagi adalah terkait secure at data record ) sbb :
Bagaimana membatasi data record (original table, bukan view) tetapi bukan berdasarkan field UserID, misalnya berdasarkan “Kelas” (contoh kasus di Sekolah Dasar ada 6 pembagian kelasi yakni 1, 2, 3, 4, 5,6) ?
Hasil explorasi sementara :
Solusi 1 :
Saya solusikan berbeda tabel tersendiri untuk masing2 kelas, jadi ada tabel kbm_kelas 1, 2, 3, 4, 5 dan 6. Lalu pengaturan otorisasinya menggunakan “User level Security”.
Namun opini saya kelemahannya adalah :
– terlalu banyak table yg dimaintain
– tidak fleksibel, misalnya saj ada pemekaran yakni kelas 7, 8, 9 maka saya harus buat tabel sendiri2 lalu update di phpmaker dan generate ulang.
Solusi 2:
Saya menggunakan “User ID Security” yakni pada “User ID Field” saya tidak memilih column “UserID” dari tabel “employee” tetapi Other column dari tabel “employee” misalnya saya siapkan kolom “Kelas”.
Jadi di tabel “kbm_kelas” saya tambahkan juga kolom “Kelas”.
Saya praktekkan dgn kombinasi “User Level” dan yes berhasil, jadi data user dapat mengakses tabel “transaksi di kelas” dengan data record “kelas” yang diassign pada attributes user.
Opini saya :
# Kelebihan :
– Tabel kbm_kelas cukup 1 saja, tidak harus buat tabel kbm_kelas 1-6 sendiri-sendiri.
– Dinamis, jika ada pemekaran kelas misalnya kelas 7, 8, 9 maka tinggal tambahkan master kelas 7, 8 , 9 lalu diassign ke attribute “employee”
– Tidak perlu generate lagi php makernya karena tidak ada penambahan tabel
#Kekurangan :
Nah kekurangan / yg saya belum ketahui solusinya adalah pada opsi User ID Security , untuk pemilihan “field” pada tabel hanya 1, tidak bisa multi seperti “User level Security” yg di v2021 sudah bisa multi.
Misalnya ada Guru yg memiliki otorisasi kelas 1 dan 2, maka saya coba isikan attribute kelas “1,2” pada tabel employee malah tidak muncul
Mohon advice/sharing pengalamannya Pak Masino, mohon maaf jika terlalu panjang penjelasannya
Terima kasih
Masino Sinaga mengatakan
Solusi 1 sebaiknya jangan digunakan, karena memang sangat tidak efektif; terlalu banyak table yang harus dikelola untuk setiap kelas.
Solusi 2 juga tidak disarankan, karena tidak fleksibel dan tidak bisa menangani beberapa kelas sekaligus.
Solusi terbaik cukup menggunakan server event Recordset_Selecting, karena disamping fleksibel, juga sangat mudah.
nur syamsu mengatakan
Wah mantap Pak Masino, terima kasih banyak sharing ilmunya.
Berhasil dan jauh lebih fleksible dan efektif solusinya
nur syamsu mengatakan
Sangat terbantu dari posting Pak Masino disini terkait recordset_selecting :
http://www.masinosinaga.com/phpmaker/inilah-bukti-betapa-mudah-dan-cepatnya-menerapkan-proses-bisnis-di-phpmaker/
http://www.masinosinaga.com/phpmaker/menyaring-record-tapi-pengguna-tetap-dapat-melihat-semua-record-di-phpmaker/
http://www.masinosinaga.com/phpmaker/menyaring-record-sebelum-pencarian-data-di-aplikasi-web-dari-phpmaker/
http://www.masinosinaga.com/phpmaker/mudahnya-menyaring-record-saat-halaman-dimuat-di-aplikasi-web-dari-phpmaker/
Vina mengatakan
Selamat siang pak Masino, mohon dibantu kalo saya mau buat semacam tabel daftar belanja yang tiap satu kode transaksi terdiri dari beberapa kode barang , gimana caranya supaya bisa nambahin baris untuk kode barang baru nya pak?
Masino Sinaga mengatakan
Selamat siang Vina. Bisa pakai fitur Master/Detail di PHPMaker. Kalau mau lihat contohnya, bisa dari project demo-nya, pada table orders sebagai Master, dan orderdetails sebagai Detail-nya.
jackystarly mengatakan
Siang bang maaf mengganggu mau tanya, untuk versi sebelumnya ketika saya mau mengganti koneksi database tinggal oprek file ewcfg.php nya ,,, nah untuk versi 2021 itu dimana ya pak? terima kasih atas jawabannya.
Masino Sinaga mengatakan
Ada di file src/config.production.php atau src/config.development.php.
Eries mengatakan
mas mau tanya, saya memakai phpmaker 2022…kenapa setelah saya generate…lalu saya jalankan browser muncul pesan ini :
Fatal error: Uncaught Error: Class ‘ResourceBundle’ not found in C:\xampp\htdocs\lhp1\src\phpfn.php:5629 Stack trace: #0 C:\xampp\htdocs\lhp1\src\Language.php(77): PHPMaker2022\project1\LocaleConvert() #1 C:\xampp\htdocs\lhp1\src\Language.php(33): PHPMaker2022\project1\Language->loadLanguage(‘en-US’) #2 C:\xampp\htdocs\lhp1\vendor\php-di\php-di\src\Definition\Resolver\ObjectCreator.php(143): PHPMaker2022\project1\Language->__construct() #3 C:\xampp\htdocs\lhp1\vendor\php-di\php-di\src\Definition\Resolver\ObjectCreator.php(71): DI\Definition\Resolver\ObjectCreator->createInstance(Object(DI\Definition\ObjectDefinition), Array) #4 C:\xampp\htdocs\lhp1\vendor\php-di\php-di\src\Definition\Resolver\ResolverDispatcher.php(71): DI\Definition\Resolver\ObjectCreator->resolve(Object(DI\Definition\ObjectDefinition), Array) #5 C:\xampp\htdocs\lhp1\vendor\php-di\php-di\src\Container.php(390): DI\Definition\Resolver\ResolverDispatcher->resolve(Object(DI\Definition\ObjectDefinition), Array) #6 C:\xampp\htdocs\lhp1\vendor\php-di\php-di\sr in C:\xampp\htdocs\lhp1\src\phpfn.php on line 5629
Masino Sinaga mengatakan
Cek kode pada baris 5629 file src/phpfn.php, seperti apa kodenya?