Quickstarters
Feature Overview
How to Build a Backend for Symfony?
28 mnt
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 api—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 https //www back4app com proyek back4app baru memulai dengan back4app https //www back4app com/docs/get started/new parse app pengaturan khusus symfony pastikan anda telah menginstal symfony https //symfony com/download 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 https //symfony com/doc/current/index html node js (opsional, untuk alat build tertentu) jika anda berencana menggunakan alat berbasis node untuk tugas front end, instal node js https //nodejs org/en/download/ 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 buat proyek back4app masuk ke akun back4app anda klik pada “aplikasi baru” di dasbor beri nama (misalnya, “symfony backend tutorial”) setelah dibuat, proyek ini akan muncul di dasbor back4app anda proyek ini adalah fondasi backend anda 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 di bawah ini adalah contoh menggunakan symfony httpclient https //symfony com/doc/current/http client html // src/service/back4appclient php namespace app\service; use symfony\component\httpclient\httpclient; class back4appclient { private $appid; private $restkey; private $baseurl; public function construct(string $appid, string $restkey, string $baseurl) { $this >appid = $appid; $this >restkey = $restkey; $this >baseurl = $baseurl; } public function createobject(string $classname, array $data) { $client = httpclient create(); $response = $client >request('post', $this >baseurl '/classes/' $classname, \[ 'headers' => \[ 'x parse application id' => $this >appid, 'x parse rest api key' => $this >restkey, 'content type' => 'application/json' ], 'json' => $data, ]); return $response >toarray(); } } 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 navigasikan ke database di dasbor back4app anda buat kelas baru “todo” dan tambahkan field seperti title (string) dan iscompleted (boolean) sebagai alternatif, biarkan agen ai back4app membuat model data anda buka agen ai di dasbor proyek anda deskripsikan model data anda (misalnya, “buat kelas todo dengan field title dan iscompleted ”) hasilkan skema secara otomatis membaca dan menulis data menggunakan rest untuk membuat sebuah todo dari controller symfony, anda dapat melakukan use app\service\back4appclient; use symfony\bundle\frameworkbundle\controller\abstractcontroller; use symfony\component\routing\annotation\route; class todocontroller extends abstractcontroller { \#\[route('/todo/new', name 'new todo')] public function new(back4appclient $client) { $data = \[ 'title' => 'buy groceries', 'iscompleted' => false ]; $result = $client >createobject('todo', $data); return $this >json($result); } } untuk kueri , gunakan permintaan get dengan kredensial anda curl x get \\ h "x parse application id your application id" \\ h "x parse rest api key your rest api key" \\ https //parseapi back4app com/classes/todo membaca dan menulis data menggunakan graphql anda juga dapat mengintegrasikan graphql di symfony dengan menggunakan pustaka klien graphql contoh mutasi untuk membuat todo adalah mutation { createtodo(input { fields { title "clean the kitchen" iscompleted false } }) { todo { objectid title iscompleted } } } 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 { "title" "private task", "iscompleted" false, " acl" { "userobjectidhere" { "read" true, "write" true } } } clp (izin tingkat kelas) izin tingkat kelas memungkinkan anda untuk menetapkan aturan akses yang luas untuk seluruh kelas buka database di dasbor back4app pilih kelas anda (misalnya, “todo”) pergi ke tab izin dan konfigurasikan akses baca/tulis untuk informasi lebih lanjut, kunjungi pedoman keamanan aplikasi https //www back4app com/docs/security/parse security 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 // main js parse cloud beforesave('todo', (request) => { const todo = request object; if (!todo get('title')) { throw new error('todo must have a title'); } }); penerapan gunakan back4app cli atau dasbor untuk menerapkan main js panggil fungsi cloud anda melalui rest atau graphql dari layanan symfony anda 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 \# sign up curl x post \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"username" "alex", "password" "symfony123", "email" "alex\@example com"}' \\ https //parseapi back4app com/users \# log in curl x get \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ \ data urlencode 'username=alex' \\ \ data urlencode 'password=symfony123' \\ https //parseapi back4app com/login 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 https //www back4app com/docs/platform/sign in with apple anda akan mengonfigurasi aplikasi oauth anda dan melakukan panggilan rest tertentu untuk menyelesaikan otentikasi langkah 6 – menangani penyimpanan file unggah file dengan rest curl x post \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ h "content type image/png" \\ \ data binary '@localimage png' \\ https //parseapi back4app com/files/localimage png 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 pergi ke pengaturan email di back4app aktifkan verifikasi email dan template reset kata sandi 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 // main js parse cloud job('cleanupoldtodos', async () => { const todo = parse object extend('todo'); const query = new parse query(todo); const now = new date(); const thirty days = 30 24 60 60 1000; query lessthan('createdat', new date(now thirty days)); const oldtodos = await query find({ usemasterkey true }); await parse object destroyall(oldtodos, { usemasterkey true }); return `deleted ${oldtodos length} old todos `; }); jadwalkan tugas cleanupoldtodos 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 pergi ke lebih banyak > webhooks di dasbor back4app anda tambahkan webhook yang menentukan endpoint eksternal anda trigger peristiwa pada pembuatan objek di kelas todo langkah 10 – menjelajahi panel admin back4app gunakan back4app admin app untuk antarmuka manajemen data yang ramah pengguna aktifkan admin app dari app dashboard > more > admin app buat pengguna admin dengan nama pengguna dan kata sandi yang aman tetapkan subdomain kustom untuk akses yang mudah 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 tingkat lanjut dengan back4app, anda menghemat waktu dan usaha pada 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 baik mengintegrasikan fitur 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!