Quickstarters

Cara Membangun Backend untuk Yii 2?

40min

Pendahuluan

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.

Prasyarat

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 1 – Membuat Proyek Baru di Back4App dan Menghubungkan

Buat Proyek Baru

Langkah pertama untuk membangun backend untuk Yii 2 adalah membuat proyek Back4app baru. Jika Anda belum melakukannya, ikuti langkah-langkah ini:

  1. Masuk ke akun Back4app Anda.
  2. Klik tombol “Aplikasi Baru” di dasbor Back4app Anda.
  3. Beri nama aplikasi Anda (misalnya, “Yii2-Backend-Tutorial”).
Document image


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.

Menghubungkan melalui API Parse

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.

Ambil Kunci Parse Anda

  1. Di dasbor Back4app Anda, pergi ke “Pengaturan Aplikasi” atau “Keamanan & Kunci”.
  2. Temukan ID Aplikasi, Kunci API REST, dan URL Server Parse (biasanya https://parseapi.back4app.com).
Document image


Simpan kredensial ini dengan baik. Anda akan membutuhkannya saat membuat permintaan dari aplikasi Yii 2 Anda ke Back4app.

Langkah 2 – Menyiapkan Database

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.

Membuat Model Data

  1. Buka bagian “Database” di dasbor Back4app Anda.
  2. Buat kelas baru (misalnya, “Todo”) dan tambahkan kolom seperti title (String) dan isCompleted (Boolean).
Buat Kelas Baru
Buat Kelas Baru


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:

  1. Buka Agen AI dari Dasbor Aplikasi Anda atau menu.
  2. Deskripsikan model data Anda (misalnya, “Buat skema Aplikasi Todo dengan kelas Todo”).
  3. Izinkan Agen AI untuk menghasilkan skema.
Document image


Membaca dan Menulis Data Menggunakan REST API

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.

Bash


Contoh potongan kode PHP Yii 2 (menggunakan cURL) dalam pengontrol:

PHP


Meng-query data yang sama dengan REST mungkin terlihat seperti:

Bash


Membaca dan Menulis Data Menggunakan API GraphQL

Anda juga dapat membuat dan membaca data menggunakan antarmuka GraphQL Parse. Misalnya, untuk membuat sebuah Todo:

GraphQL


Di Yii 2, Anda dapat menggunakan perpustakaan GraphQL atau permintaan HTTP sederhana untuk berinteraksi dengan endpoint GraphQL Back4app: https://parseapi.back4app.com/graphql

Bekerja dengan Live Queries (Opsional)

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.

Langkah 3 – Menerapkan Keamanan dengan ACL dan CLP

Gambaran Umum

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.

Document image


Mengatur Izin Tingkat Kelas

  1. Pergi ke Database di dasbor Back4app Anda dan pilih kelas (misalnya, “Todo”).
  2. Buka tab CLP, dan atur izin baca/tulis (misalnya, “Memerlukan Autentikasi” atau “Tidak Ada Akses”).

Mengonfigurasi ACL

Anda dapat mengatur ACL untuk objek individu dengan menyertakan sebuah _ACL field saat membuat atau memperbarui data melalui REST atau GraphQL. Misalnya, menggunakan REST:

Bash


Objek ini sekarang hanya dapat diakses oleh pengguna dengan objectId yang ditentukan.

Langkah 4 – Menulis Fungsi Cloud Code

Mengapa Cloud Code

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.

Contoh Fungsi Cloud Code

Di bawah ini adalah fungsi Cloud Code sederhana (ditulis dalam JavaScript) yang menghitung panjang teks:

main.js


Penerapan

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.
Document image


Memanggil Fungsi Cloud Anda

Anda dapat memanggil fungsi Anda dari Yii 2 menggunakan permintaan REST POST sederhana:

Bash


Atau melalui GraphQL:

GraphQL


Langkah 5 – Mengonfigurasi Autentikasi

Autentikasi Pengguna di Back4app

Back4app menggunakan kelas Parse User sebagai dasar untuk autentikasi yang aman. Anda dapat membuat dan memverifikasi pengguna melalui panggilan REST atau GraphQL.

Membuat Pengguna dengan REST

Bash


Masuk sebagai Pengguna

Bash

Bash


Login Sosial

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.

Verifikasi Email & Reset Kata Sandi

Aktifkan verifikasi email dan reset kata sandi di Pengaturan Email dasbor Back4app Anda untuk meningkatkan keamanan pengguna:

  1. Pergi ke Pengaturan Email di dasbor Back4app Anda.
  2. Aktifkan verifikasi email dan sesuaikan template email Anda.
  3. Uji bahwa email Anda dikirim dan diterima dengan benar.

Langkah 6 – Menangani Penyimpanan File

Back4app menyediakan penyimpanan file yang aman melalui sistem File Parse. Sementara SDK PHP Parse adalah pilihan, kami akan menggambarkan REST lagi untuk konsistensi.

Mengunggah File melalui REST

Bash


Ini mengembalikan url untuk file yang disimpan. Anda kemudian dapat menyimpan URL tersebut dalam sebuah kelas (seperti Foto) untuk pengambilan nanti.

Pertimbangan Keamanan File

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.

Langkah 7 – Verifikasi Email dan Reset Kata Sandi

Ikhtisar

Verifikasi email memastikan pengguna memiliki alamat email yang mereka daftarkan, dan reset kata sandi memungkinkan mereka untuk memulihkan akun.

Konfigurasi Dasbor Back4App

  1. Aktifkan Verifikasi Email di Pengaturan Aplikasi > Pengaturan Email.
  2. Sesuaikan alamat “Dari” dan template email.
  3. Uji dengan membuat pengguna baru untuk mengonfirmasi bahwa email verifikasi telah dikirim.

Implementasi

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.

Langkah 8 – Penjadwalan Tugas dengan Pekerjaan Cloud

Apa yang Dilakukan Pekerjaan Cloud

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.

Contoh: Pekerjaan Pembersihan

main.js


Langkah 9 – Mengintegrasikan Webhook

Definisi

Webhook memungkinkan aplikasi Back4app Anda untuk mengirim permintaan HTTP otomatis ke layanan eksternal ketika peristiwa terjadi, seperti membuat Todo baru.

Konfigurasi

  1. Di dasbor Back4app Anda, pergi ke More > WebHooks.
  2. Tambahkan endpoint Webhook (misalnya, https://your-external-service.com/webhook).
  3. Konfigurasi pemicu (misalnya, “Rekaman baru di kelas Todo”).
Menambahkan Webhook
Menambahkan Webhook


Dengan webhook, Anda dapat mengirim notifikasi ke layanan lain (seperti Slack, Stripe, atau API kustom Anda) setiap kali sebuah Todo objek dibuat atau diperbarui.

Langkah 10 – Menjelajahi Panel Admin Back4App

Di Mana Menemukannya

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.

Aktifkan Aplikasi Admin
Aktifkan Aplikasi Admin


Fitur

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.

Document image


Kesimpulan

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.

Langkah Selanjutnya

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