Belajar Kode Program

Blog belajar menulis kode program dan aplikasi komputer

Sabtu, 11 November 2017

Template Yii2 Intermediate, Basic Rasa Advanced

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.

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.phpresetPassword.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