Quickstarters

Cara Membangun Backend untuk Symfony?

28min

Pendahuluan

Dalam tutorial ini, Anda akan belajar cara membangun backend untuk Symfony menggunakan Back4App.

Kami akan menunjukkan kepada Anda cara menggunakan fitur-fitur kuat Back4App—termasuk manajemen database, Cloud Code, REST, dan GraphQL APIs—untuk membuat backend yang aman, dapat diskalakan, dan efisien yang bekerja dengan lancar dengan aplikasi Symfony Anda.

Anda juga akan menemukan cara menangani otentikasi pengguna, penyimpanan file, dan pembaruan waktu nyata melalui Live Queries (jika berlaku untuk arsitektur Anda).

Dengan memanfaatkan pengaturan cepat dan platform intuitif Back4App, Anda akan menghemat waktu dan usaha dibandingkan dengan menangani server dan database secara manual.

Anda akan mendapatkan pengalaman langsung dalam keamanan tingkat lanjut, penjadwalan tugas dengan Cloud Jobs, mengonfigurasi webhook, dan fitur penting lainnya untuk pengembangan backend yang andal.

Setelah menyelesaikan tutorial ini, Anda dapat dengan percaya diri memperluas atau menyesuaikan backend Symfony Anda untuk produksi, mengintegrasikan API eksternal, dan menambahkan logika bisnis yang kompleks sesuai kebutuhan.

Prasyarat

  • Akun Back4app Daftar secara gratis di sini.
  • Proyek Back4app baru Memulai dengan Back4app.
  • Pengaturan khusus Symfony Pastikan Anda telah menginstal Symfony secara lokal. Konfirmasi bahwa Anda memiliki PHP dan Composer siap.
  • Pengetahuan dasar tentang Symfony Keterampilan dengan pengontrol, layanan, dan templating sangat bermanfaat. Dokumentasi Resmi Symfony.
  • Node.js (opsional, untuk alat build tertentu) Jika Anda berencana menggunakan alat berbasis Node untuk tugas front-end, instal Node.js.

Pastikan lingkungan Symfony Anda dan proyek Back4App Anda sudah disiapkan sebelum Anda mulai. Ini akan membantu Anda mengikuti langkah-langkah dengan lancar.

Langkah 1 – Membuat Proyek Baru di Back4App dan menghubungkan

  1. Buat Proyek Back4App:
    • Masuk ke akun Back4App Anda.
    • Klik pada “Aplikasi Baru” di dasbor.
    • Beri nama (misalnya, “Symfony-Backend-Tutorial”).
Document image


Setelah dibuat, proyek ini akan muncul di dasbor Back4App Anda. Proyek ini adalah fondasi backend Anda.

  1. Sambungkan dengan REST atau GraphQL:
    • Di “Pengaturan Aplikasi” atau “Keamanan & Kunci” aplikasi Anda, temukan ID Aplikasi dan Kunci API REST (dan endpoint GraphQL jika Anda berencana untuk menggunakan GraphQL).
    • Catat URL Server Parse Anda (misalnya, https://parseapi.back4app.com).
    • Karena Symfony tidak memiliki SDK Parse bawaan, Anda akan bergantung pada klien HTTP Symfony atau pustaka seperti Guzzle untuk berkomunikasi dengan API REST atau GraphQL Back4App.
Document image


Di bawah ini adalah contoh menggunakan Symfony HttpClient:

PHP


Layanan ini akan membantu Anda membuat permintaan ke backend Back4App Anda dari dalam Symfony.

Langkah 2 – Menyiapkan Database

Membuat Model Data

Di Back4App, Anda akan mendefinisikan kelas (tabel) yang menyimpan data Anda. Misalkan Anda ingin kelas Todo untuk menyimpan tugas:

  1. Navigasikan ke Database di dasbor Back4App Anda.
  2. Buat kelas baru “Todo” dan tambahkan field seperti title (String) dan isCompleted (Boolean).
Buat Kelas Baru
Buat Kelas Baru


Sebagai alternatif, biarkan Agen AI Back4App membuat model data Anda:

  1. Buka Agen AI di Dasbor proyek Anda.
  2. Deskripsikan model data Anda (misalnya, “Buat kelas Todo dengan field title dan isCompleted.”).
  3. Hasilkan skema secara otomatis.
Document image


Membaca dan Menulis Data menggunakan REST

Untuk membuat sebuah Todo dari controller Symfony, Anda dapat melakukan:

PHP


Untuk kueri, gunakan permintaan GET dengan kredensial Anda:

Bash


Membaca dan Menulis Data menggunakan GraphQL

Anda juga dapat mengintegrasikan GraphQL di Symfony dengan menggunakan pustaka klien GraphQL. Contoh mutasi untuk membuat Todo adalah:

GraphQL


Bekerja dengan Live Queries (Opsional)

Jika aplikasi Symfony Anda memerlukan data waktu nyata, Anda dapat menggabungkan Live Queries dalam konteks mikroservis yang lebih front-end atau waktu nyata. Konfigurasikan Live Queries di Pengaturan Server di Back4App, lalu sambungkan klien WebSocket. Symfony dapat merespons atau menyiarkan pembaruan ini melalui lapisan waktu nyata terpisah jika diperlukan.

Langkah 3 – Menerapkan Keamanan dengan ACL dan CLP

ACL (Daftar Kontrol Akses)

ACL memungkinkan Anda mengontrol siapa yang dapat membaca atau menulis objek. Misalnya, Anda dapat menerapkan ACL dalam kode saat membuat data dengan REST API dengan menambahkan _ACL bidang dalam JSON Anda. Contohnya:

JSON


CLP (Izin Tingkat Kelas)

Izin Tingkat Kelas memungkinkan Anda untuk menetapkan aturan akses yang luas untuk seluruh kelas:

  1. Buka Database di dasbor Back4App.
  2. Pilih kelas Anda (misalnya, “Todo”).
  3. Pergi ke tab Izin dan konfigurasikan akses baca/tulis.
Document image


Untuk informasi lebih lanjut, kunjungi Pedoman Keamanan Aplikasi.

Langkah 4 – Menulis Fungsi Cloud Code

Cloud Code memungkinkan Anda menjalankan JavaScript sisi server yang aman tanpa mengelola infrastruktur. Sementara Symfony menggunakan PHP, Anda masih dapat memindahkan tugas tertentu ke Cloud Code di Back4App untuk logika lanjutan, pemicu, dan validasi.

Contoh: Validasi Todo Sebelum Disimpan

JS


Penerapan

  1. Gunakan Back4App CLI atau dasbor untuk menerapkan main.js.
  2. Panggil Fungsi Cloud Anda melalui REST atau GraphQL dari layanan Symfony Anda.
Document image


Langkah 5 – Mengonfigurasi Autentikasi

Manajemen pengguna di Back4App bergantung pada kelas Parse User . Dengan Symfony, Anda dapat menangani pendaftaran pengguna, login, dan pengaturan ulang kata sandi melalui panggilan REST atau GraphQL.

Daftar / Masuk melalui REST

Bash


Gunakan layanan Symfony untuk membungkus panggilan ini jika Anda memerlukan alur pengguna yang terprogram.

Masuk Sosial

Jika Anda berencana untuk mengintegrasikan masuk Google atau Apple, lihat Dokumentasi Masuk Sosial Back4App. Anda akan mengonfigurasi aplikasi OAuth Anda dan melakukan panggilan REST tertentu untuk menyelesaikan otentikasi.

Langkah 6 – Menangani Penyimpanan File

Unggah File dengan REST

Bash


Setelah mengunggah, Anda akan mendapatkan URL file. Anda dapat menyimpan tautan itu di kelas mana pun (misalnya, Todo) sebagai referensi untuk file tersebut.

Langkah 7 – Verifikasi Email dan Reset Kata Sandi

Mengonfigurasi Email

  1. Pergi ke Pengaturan Email di Back4App.
  2. Aktifkan verifikasi email dan template reset kata sandi.
  3. Sesuaikan garis “Dari” dan “Subjek” sesuai kebutuhan.

Ini memastikan semua pendaftaran memerlukan konfirmasi email yang valid.

Langkah 8 – Menjadwalkan Tugas dengan Cloud Jobs

Contoh Cloud Job

JS


Jadwalkan cleanupOldTodos pekerjaan ini di dasbor Back4App Anda untuk berjalan setiap hari, meningkatkan manajemen data Anda.

Langkah 9 – Mengintegrasikan Webhooks

Webhooks memungkinkan Back4App mengirim permintaan HTTP ke layanan eksternal. Misalnya, Anda dapat mengirim ping ke endpoint Slack setiap kali Todo baru dibuat:

  1. Pergi ke Lebih Banyak > WebHooks di Dasbor Back4App Anda.
  2. Tambahkan Webhook yang menentukan endpoint eksternal Anda.
  3. Trigger peristiwa pada pembuatan objek di kelas Todo.
Menambahkan Webhook
Menambahkan Webhook


Langkah 10 – Menjelajahi Panel Admin Back4App

Gunakan Back4App Admin App untuk antarmuka manajemen data yang ramah pengguna:

  1. Aktifkan Admin App dari App Dashboard > More > Admin App.
  2. Buat Pengguna Admin dengan nama pengguna dan kata sandi yang aman.
  3. Tetapkan subdomain kustom untuk akses yang mudah.
Aktifkan Admin App
Aktifkan Admin App


Fitur ini membantu anggota tim non-teknis untuk melihat dan mengelola catatan tanpa harus menyelami kode.

Kesimpulan

Anda telah belajar cara membangun backend untuk Symfony menggunakan Back4App. Ini termasuk:

  • Membuat proyek baru di Back4App sebagai fondasi.
  • Mengonfigurasi database dengan kelas, bidang, dan hubungan.
  • Mengamankan data dengan ACL dan CLP.
  • Memanfaatkan Cloud Code untuk logika sisi server.
  • Mengelola otentikasi pengguna (daftar, masuk, reset kata sandi).
  • Menangani penyimpanan file dengan REST API.
  • Mengatur Cloud Jobs untuk tugas berkala.
  • Mengintegrasikan webhook untuk menghubungkan layanan eksternal.
  • Menavigasi Panel Admin Back4App untuk manajemen data yang mudah.

Langkah-langkah ini memberikan Anda kerangka kerja yang kuat untuk membangun dan menskalakan aplikasi Symfony Anda. Kembangkan arsitektur ini untuk menangani logika yang lebih kompleks, mengintegrasikan gerbang pembayaran, atau menambahkan fitur keamanan canggih. Dengan Back4App, Anda menghemat waktu dan usaha untuk hosting dan infrastruktur—sehingga Anda dapat fokus pada memberikan pengalaman pengguna terbaik.

Langkah Selanjutnya

  • Membangun aplikasi Symfony yang siap produksi dengan menyesuaikan backend Back4App Anda untuk lalu lintas yang lebih tinggi dan kebutuhan kinerja yang lebih canggih.
  • Mengintegrasikan fitur canggih seperti akses berbasis peran, analitik, atau API pihak ketiga untuk pembayaran.
  • Jelajahi dokumen resmi Back4App untuk wawasan lebih dalam tentang keamanan, log, dan pemantauan.
  • Lihat lebih banyak tutorial untuk menggabungkan backend ini dengan layanan waktu nyata atau untuk membuat situs web dinamis dengan pembaruan langsung.

Dengan mengikuti strategi ini, proyek Symfony Anda mendapatkan backend yang kuat dan efisien. Manfaatkan Back4App untuk memudahkan pemeliharaan dan dengan cepat mengembangkan kemampuan aplikasi Anda. Semoga sukses membangun karya agung Symfony Anda berikutnya!