Cara Membangun Backend untuk Yii 2?
Dalam tutorial ini, Anda akan belajar cara membangun backend untuk Yii 2 menggunakan Back4app.
Yii 2 adalah framework PHP sumber terbuka yang populer yang membantu Anda membuat aplikasi web yang aman dan efisien.
Dengan mengintegrasikan framework Yii dengan Back4app, Anda dapat memanfaatkan fitur-fitur kuat seperti manajemen database, fungsi cloud, API REST dan GraphQL, otentikasi pengguna, dan kueri waktu nyata – semuanya sambil mempercepat proses pengembangan backend Anda.
Anda akan melihat bagaimana memanfaatkan lingkungan Back4app untuk mengurangi konfigurasi server manual, memungkinkan Anda fokus pada penulisan kode Yii 2 Anda.
Dengan mengikuti langkah-langkah ini, Anda akan mendapatkan pengalaman langsung dengan fungsionalitas penting, termasuk kontrol keamanan yang kuat (ACL, CLP), penjadwalan tugas berulang, dan pengaturan integrasi eksternal melalui webhook.
Pada akhir tutorial ini, Anda akan memiliki struktur backend yang solid untuk proyek Yii 2 Anda, siap untuk diskalakan ke produksi atau ditingkatkan dengan logika bisnis kustom.
Anda juga akan siap untuk mengintegrasikan API pihak ketiga atau membangun fitur baru ke dalam aplikasi web Anda.
Untuk menyelesaikan tutorial ini, Anda akan membutuhkan:
- Akun Back4app dan proyek Back4app baru Memulai dengan Back4app. Jika Anda belum memiliki akun, daftar secara gratis dan ikuti panduan yang terhubung untuk menyiapkan proyek Anda.
- Lingkungan pengembangan Yii 2 lokal Anda dapat mengunduh Yii 2 menggunakan Composer dan mengikuti Panduan Resmi Yii 2 untuk pengaturan.
- PHP (versi 7.4 atau lebih tinggi) terinstal Anda memerlukan lingkungan PHP yang kompatibel untuk menjalankan Yii 2 dan mengelola paket Composer.
- Keterampilan dalam PHP dan konsep dasar Yii 2 Jika Anda baru mengenal framework Yii, lihat Dokumentasi Resmi Yii 2.
Pastikan Anda memiliki semua prasyarat ini sebelum Anda mulai. Memiliki proyek Back4app Anda yang disiapkan dan lingkungan Yii 2 lokal Anda siap akan memungkinkan Anda untuk mengikuti dengan lebih mudah.
Langkah pertama untuk membangun backend untuk Yii 2 adalah membuat proyek Back4app baru. Jika Anda belum melakukannya, ikuti langkah-langkah ini:
- Masuk ke akun Back4app Anda.
- Klik tombol “Aplikasi Baru” di dasbor Back4app Anda.
- Beri nama aplikasi Anda (misalnya, “Yii2-Backend-Tutorial”).

Setelah proyek dibuat, Anda akan melihatnya di dasbor Back4app Anda. Ini berfungsi sebagai dasar untuk semua konfigurasi backend yang akan kita eksplorasi dalam tutorial ini.
Back4app menggunakan Platform Parse di belakang layar. Meskipun SDK PHP Parse ada, Anda juga dapat mengintegrasikan aplikasi Yii 2 Anda dengan Back4app menggunakan API REST atau GraphQL Parse.
Pendekatan ini fleksibel, memungkinkan Anda menulis kode yang mengirim permintaan HTTP atau GraphQL ke Back4app dari pengontrol atau model Yii Anda.
- Di dasbor Back4app Anda, pergi ke “Pengaturan Aplikasi” atau “Keamanan & Kunci”.
- Temukan ID Aplikasi, Kunci API REST, dan URL Server Parse (biasanya https://parseapi.back4app.com).

Simpan kredensial ini dengan baik. Anda akan membutuhkannya saat membuat permintaan dari aplikasi Yii 2 Anda ke Back4app.
Proyek Back4app Anda dilengkapi dengan database berbasis cloud yang dikelola secara otomatis oleh Parse Server. Anda dapat membuat model data dan menyimpan objek di dalamnya menggunakan REST, GraphQL, atau agen AI di Back4app.
- Buka bagian “Database” di dasbor Back4app Anda.
- Buat kelas baru (misalnya, “Todo”) dan tambahkan kolom seperti title (String) dan isCompleted (Boolean).

Anda juga dapat membiarkan Parse membuat kolom-kolom ini secara otomatis saat pertama kali kode Yii Anda mengirim data. Selain itu, Agen AI Back4app dapat membantu Anda menyiapkan skema:
- Buka Agen AI dari Dasbor Aplikasi Anda atau menu.
- Deskripsikan model data Anda (misalnya, “Buat skema Aplikasi Todo dengan kelas Todo”).
- Izinkan Agen AI untuk menghasilkan skema.

Berikut adalah contoh menyimpan sebuah Todo objek menggunakan REST API. Anda mungkin mengimplementasikan ini dalam aksi pengontrol Yii 2 menggunakan cURL atau file_get_contents() PHP untuk mengirim data JSON.
Contoh potongan kode PHP Yii 2 (menggunakan cURL) dalam pengontrol:
Meng-query data yang sama dengan REST mungkin terlihat seperti:
Anda juga dapat membuat dan membaca data menggunakan antarmuka GraphQL Parse. Misalnya, untuk membuat sebuah Todo:
Di Yii 2, Anda dapat menggunakan perpustakaan GraphQL atau permintaan HTTP sederhana untuk berinteraksi dengan endpoint GraphQL Back4app: https://parseapi.back4app.com/graphql
Untuk pembaruan waktu nyata, Back4app mendukung Live Queries, yang memungkinkan Anda berlangganan perubahan pada sebuah kelas. Meskipun penggunaan tipikal di Yii 2 mungkin kurang umum, Anda masih dapat mengaktifkan Live Queries di pengaturan Back4app Anda dan menangani koneksi WebSocket di PHP. Ini lebih maju, jadi lihat dokumentasi Live Queries Parse untuk rincian tentang menerapkan fitur waktu nyata dalam aplikasi web berbasis PHP Anda.
Back4app menawarkan Daftar Kontrol Akses (ACL) dan Izin Tingkat Kelas (CLP) untuk melindungi data Anda. ACL berlaku untuk objek tertentu, sementara CLP mendefinisikan izin global untuk setiap kelas.

- Pergi ke Database di dasbor Back4app Anda dan pilih kelas (misalnya, “Todo”).
- Buka tab CLP, dan atur izin baca/tulis (misalnya, “Memerlukan Autentikasi” atau “Tidak Ada Akses”).
Anda dapat mengatur ACL untuk objek individu dengan menyertakan sebuah _ACL field saat membuat atau memperbarui data melalui REST atau GraphQL. Misalnya, menggunakan REST:
Objek ini sekarang hanya dapat diakses oleh pengguna dengan objectId yang ditentukan.
Menggunakan Cloud Code di Back4app memungkinkan Anda menjalankan logika sisi server kustom tanpa mengelola server Anda sendiri. Anda dapat membuat logika bisnis, validasi data, atau pemicu untuk pembuatan, pembaruan, dan penghapusan objek.
Di bawah ini adalah fungsi Cloud Code sederhana (ditulis dalam JavaScript) yang menghitung panjang teks:
Anda dapat menerapkan Cloud Code Anda melalui Back4app CLI atau langsung di Cloud Code > Functions bagian dasbor Back4app Anda:
- Back4app CLI:
- Dasbor: Salin/tempel kode Anda ke main.js dan klik Terapkan.

Anda dapat memanggil fungsi Anda dari Yii 2 menggunakan permintaan REST POST sederhana:
Atau melalui GraphQL:
Back4app menggunakan kelas Parse User sebagai dasar untuk autentikasi yang aman. Anda dapat membuat dan memverifikasi pengguna melalui panggilan REST atau GraphQL.
Untuk login sosial (Google, Apple, Facebook, dll.), konfigurasikan pengaturan OAuth Anda di Back4app dan aplikasi Yii 2 Anda untuk menangani token yang diperlukan. Rujuk ke Dokumentasi Login Sosial untuk pedoman spesifik penyedia.
Aktifkan verifikasi email dan reset kata sandi di Pengaturan Email dasbor Back4app Anda untuk meningkatkan keamanan pengguna:
- Pergi ke Pengaturan Email di dasbor Back4app Anda.
- Aktifkan verifikasi email dan sesuaikan template email Anda.
- Uji bahwa email Anda dikirim dan diterima dengan benar.
Back4app menyediakan penyimpanan file yang aman melalui sistem File Parse. Sementara SDK PHP Parse adalah pilihan, kami akan menggambarkan REST lagi untuk konsistensi.
Ini mengembalikan url untuk file yang disimpan. Anda kemudian dapat menyimpan URL tersebut dalam sebuah kelas (seperti Foto) untuk pengambilan nanti.
Anda dapat membatasi unggahan file hanya untuk pengguna yang terautentikasi atau untuk peran tertentu dengan mengonfigurasi pengaturan Server Parse di aplikasi Anda. Untuk kontrol yang lebih rinci, gabungkan pengaturan ini dengan aturan ACL dan CLP Anda.
Verifikasi email memastikan pengguna memiliki alamat email yang mereka daftarkan, dan reset kata sandi memungkinkan mereka untuk memulihkan akun.
- Aktifkan Verifikasi Email di Pengaturan Aplikasi > Pengaturan Email.
- Sesuaikan alamat “Dari” dan template email.
- Uji dengan membuat pengguna baru untuk mengonfirmasi bahwa email verifikasi telah dikirim.
Dalam aplikasi Yii 2 Anda, arahkan pengguna ke rute yang memicu titik akhir reset kata sandi. Sisa alur (seperti mengirim email yang sebenarnya) ditangani oleh infrastruktur Back4app.
Pekerjaan Cloud di Back4app memungkinkan Anda untuk menjadwalkan tugas rutin, seperti membersihkan data atau mengirim notifikasi. Definisikan mereka dalam Kode Cloud Anda (main.js) dan jadwalkan mereka di dasbor.
Webhook memungkinkan aplikasi Back4app Anda untuk mengirim permintaan HTTP otomatis ke layanan eksternal ketika peristiwa terjadi, seperti membuat Todo baru.
- Di dasbor Back4app Anda, pergi ke More > WebHooks.
- Tambahkan endpoint Webhook (misalnya, https://your-external-service.com/webhook).
- Konfigurasi pemicu (misalnya, “Rekaman baru di kelas Todo”).

Dengan webhook, Anda dapat mengirim notifikasi ke layanan lain (seperti Slack, Stripe, atau API kustom Anda) setiap kali sebuah Todo objek dibuat atau diperbarui.
Aplikasi Admin Back4app adalah antarmuka titik-dan-klik untuk mengelola data Anda tanpa menulis kode. Anda dapat mengaktifkannya dengan mengunjungi Dasbor Aplikasi > Lainnya > Aplikasi Admin dan kemudian Aktifkan Aplikasi Admin.

Setelah membuat Pengguna Admin, Anda akan memiliki subdomain khusus untuk Aplikasi Admin Anda. Ini memberikan anggota tim yang berwenang antarmuka bersih untuk operasi CRUD di database Back4app Anda, meninjau log, atau melihat analitik — tanpa perlu kode.

Dalam tutorial ini, Anda menemukan cara membangun backend untuk Yii 2 menggunakan Back4app.
Anda mengonfigurasi database berbasis cloud, mengatur keamanan yang kuat dengan ACL dan CLP, menjadwalkan tugas latar belakang dengan Cloud Jobs, dan mengintegrasikan layanan eksternal melalui webhook. Anda juga melihat bagaimana mengelola otentikasi pengguna dan penyimpanan file dengan aman.
Setelah menggabungkan framework Yii sumber terbuka untuk membangun aplikasi web dengan infrastruktur skalabel Back4app, Anda sekarang memiliki lingkungan yang kuat siap untuk pengembangan dan pertumbuhan.
- Bergerak menuju produksi dengan memperluas model data Anda, menerapkan pengaturan keamanan tambahan, dan mengoptimalkan kinerja.
- Integrasikan API eksternal (gerbang pembayaran, penyedia email) melalui Cloud Code atau webhook langsung.
- Jelajahi dokumen resmi Back4app untuk topik yang lebih dalam seperti keamanan lanjutan, analisis log, dan optimasi kinerja.
- Pelajari lebih lanjut tentang membangun aplikasi web kompleks dengan Yii 2 dengan menggunakan kontrol akses berbasis peran, strategi caching, dan hubungan database yang kompleks.
Dengan fondasi ini, Anda dapat terus meningkatkan proyek Yii 2 Anda, fokus pada logika spesifik bisnis, dan memberikan fungsionalitas yang kuat dan skalabel untuk pengguna Anda. Selamat coding dan membangun aplikasi web modern.
