Sebagian pengguna Yii2 ada yang menganggap bahwa template aplikasi yang advanced terlalu berlebihan. Berlebihannya dalam hal adanya folder frontend dan backend yang dalam praktiknya hanya terpakai salah satu saja, yakni yang frontend. Namun, ketika mereka mencoba beralih ke template yang basic, ternyata hasil yang diharapkan terlalu basic (baca: dasar). Oleh karena itu, untuk mereka yang memiliki anggapan seperti itu, jelas membutuhkan template pertengahan. Kami menyebutnya template intermediate yang merupakan perpaduan kesederhanaan template basic dan ketangguhan template advanced.
Pada artikel ini kami akan membahas bagaimana membuat template intermediate dengan fitur-fitur seperti pada frontend-nya template advanced. Fitur-fitur tersebut antara lain migrasi basis data, autentikasi dengan basis data, dan sign-up. Oleh karena itu, pertama-tama mari kita siapkan template basic dan template advanced. Cara menginstalnya bisa dilihat di artikel terdahulu berjudul 'Menginstal Yii2 dan Menjalankannya'.
Pastikan hasilnya template basic di folder basic sedangkan template advanced di folder advanced seperti gambar berikut:
Sebelum melangkah lebih jauh, perlu kita pahami dahulu beberapa perbedaan template basic dan advanced. Basic menggunakan namespace app sedangkan advanced menggunakan namespace sesuai folder, yaitu frontend, backend, common, dan console.
Lanjutkan dengan menyalin fie advanced\frontend\controllers\SiteController.php ke basic\controllers\SiteController.php dengan modifikasi namespace frontend dan common menjadi app.
Lanjutkan dengan menyalin file SignupForm.php, PasswordResetRequestForm.php, dan ResetPasswordForm.php dari folder advanced\frontend\models ke folder basic\models. Jangan lupa, modifikasi namespace frontend dan common menjadi app.
Salin file login.php, requestPasswordResetToken.php, resetPassword.php, dan signup.php dari folder advanced\frontend\views\site ke folder basic\views\site.
Lanjutkan dengan menyalin file LoginForm.php dan User.php dari folder advanced\common\models ke folder basic\models. Lakukan perubahan namespace dari common ke app.
Lanjutkan dengan menyalin semua file yang ada di folder advanced\common\mail ke folder basic\mail.
Jangan lupa, untuk mendukung fitur reset password, pastikan ada tambahan konfigurasi pada file basic\config\params.php seperti berikut:
Ya, demikianlah cara membuat template intermediate. Untuk mudahnya, Anda bisa mendownload template intermediate ini di sini.
Pada artikel ini kami akan membahas bagaimana membuat template intermediate dengan fitur-fitur seperti pada frontend-nya template advanced. Fitur-fitur tersebut antara lain migrasi basis data, autentikasi dengan basis data, dan sign-up. Oleh karena itu, pertama-tama mari kita siapkan template basic dan template advanced. Cara menginstalnya bisa dilihat di artikel terdahulu berjudul 'Menginstal Yii2 dan Menjalankannya'.
Pastikan hasilnya template basic di folder basic sedangkan template advanced di folder advanced seperti gambar berikut:
Sebelum melangkah lebih jauh, perlu kita pahami dahulu beberapa perbedaan template basic dan advanced. Basic menggunakan namespace app sedangkan advanced menggunakan namespace sesuai folder, yaitu frontend, backend, common, dan console.
Migrasi Basis Data
Yang pertama perlu Anda lakukan adalah setting konfigurasi. Buka file config/db.php kemudian modifikasi sesuai nama database, username, dan password yang akan Anda gunakan.
Setelah itu, salin folder migrations yang ada di folder advanced\console ke folder basic.
Kemudian jalankan perintah berikut:
php yii migrate
Di database kita akan terbentuk dua buah tabel
Modifikasi Sistem Autentikasi User
Sebelum memodifikasi model User, kita perbaiki tampilan view layout agar ada menu signup. Cara mudahnya, kita salin file advanced\frontend\views\layouts\main.php ke basic\views\layouts\main.php. Setelah disalin, jangan lupa ubah namespace frontend dan common yang ada pada file tersebut menjadi app.Lanjutkan dengan menyalin fie advanced\frontend\controllers\SiteController.php ke basic\controllers\SiteController.php dengan modifikasi namespace frontend dan common menjadi app.
Lanjutkan dengan menyalin file SignupForm.php, PasswordResetRequestForm.php, dan ResetPasswordForm.php dari folder advanced\frontend\models ke folder basic\models. Jangan lupa, modifikasi namespace frontend dan common menjadi app.
Salin file login.php, requestPasswordResetToken.php, resetPassword.php, dan signup.php dari folder advanced\frontend\views\site ke folder basic\views\site.
Lanjutkan dengan menyalin file LoginForm.php dan User.php dari folder advanced\common\models ke folder basic\models. Lakukan perubahan namespace dari common ke app.
Lanjutkan dengan menyalin semua file yang ada di folder advanced\common\mail ke folder basic\mail.
Jangan lupa, untuk mendukung fitur reset password, pastikan ada tambahan konfigurasi pada file basic\config\params.php seperti berikut:
<?php return [ 'adminEmail' => 'admin@example.com', 'supportEmail' => 'support@example.com', 'user.passwordResetTokenExpire' => 3600, ];
Ya, demikianlah cara membuat template intermediate. Untuk mudahnya, Anda bisa mendownload template intermediate ini di sini.
Tidak ada komentar:
Posting Komentar