Quickstarters
Feature Overview
Cara Membangun Backend untuk Yii 2?
40 mnt
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 https //www back4app com/docs/get started/new parse app 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 https //getcomposer org/ dan ikuti panduan resmi yii 2 https //www yiiframework com/doc/guide/2 0/en 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 dengan php dan konsep dasar yii 2 jika anda baru mengenal framework yii, lihat dokumentasi resmi yii 2 https //www yiiframework com/doc/guide/2 0/en 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 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 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 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 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 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 membaca dan menulis data menggunakan rest api di bawah ini 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 curl x post \\ h "x parse application id your application id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"title" "buy groceries", "iscompleted" false}' \\ https //parseapi back4app com/classes/todo contoh potongan kode php yii 2 (menggunakan curl) dalam pengontrol public function actioncreatetodo() { $url = "https //parseapi back4app com/classes/todo"; $data = \[ "title" => "buy groceries", "iscompleted" => false ]; $headers = \[ "x parse application id your application id", "x parse rest api key your rest api key", "content type application/json" ]; $ch = curl init($url); curl setopt($ch, curlopt post, 1); curl setopt($ch, curlopt postfields, json encode($data)); curl setopt($ch, curlopt httpheader, $headers); curl setopt($ch, curlopt returntransfer, true); $result = curl exec($ch); curl close($ch); // handle $result as needed, e g , parse json or redirect } meng query data yang sama dengan rest mungkin terlihat seperti 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 api graphql anda juga dapat membuat dan membaca data menggunakan antarmuka graphql parse misalnya, untuk membuat sebuah todo mutation { createtodo(input { fields { title "clean the house" iscompleted false } }) { todo { objectid title iscompleted } } } di yii 2, anda dapat menggunakan perpustakaan graphql https //packagist org/packages/webonyx/graphql php 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 https //www back4app com/docs/javascript live queries/parse livequery overview 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 mengatur izin tingkat 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”) mengonfigurasi acl anda dapat mengatur acl untuk objek individu dengan menyertakan sebuah acl saat membuat atau memperbarui data melalui rest atau graphql misalnya, menggunakan rest curl x post \\ h "x parse application id your application id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{ "title" "private todo", "acl" { "user object id here" { "read" true, "write" true }, " " { "read" false, "write" false } } }' \\ https //parseapi back4app com/classes/todo 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 // main js parse cloud define('calculatetextlength', async (request) => { const { text } = request params; if (!text) { throw new error('no text provided'); } return { length text length }; }); 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 memanggil fungsi cloud anda anda dapat memanggil fungsi anda dari yii 2 menggunakan permintaan rest post sederhana 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 '{"text" "hello back4app"}' \\ https //parseapi back4app com/functions/calculatetextlength atau melalui graphql mutation { calculatetextlength(input { text "hello graphql" }) { result } } 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 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" "alice", "password" "secret123", "email" "alice\@example com" }' \\ https //parseapi back4app com/users masuk sebagai pengguna curl x get \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ g \\ \ data urlencode 'username=alice' \\ \ data urlencode 'password=secret123' \\ https //parseapi back4app com/login curl x get \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ g \\ \ data urlencode 'username=alice' \\ \ data urlencode 'password=secret123' \\ https //parseapi back4app com/login 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 lihat dokumentasi login sosial https //www back4app com/docs/platform/sign in with apple untuk panduan spesifik penyedia verifikasi email & reset kata sandi 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 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 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 "@path/to/local/image png" \\ https //parseapi back4app com/files/myimage png 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 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 implementasi dalam aplikasi yii 2 anda, arahkan pengguna ke rute yang memicu titik akhir reset kata sandi https //www back4app com/docs/users/password reset 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 parse cloud job('cleanupoldtodos', async (request) => { const todo = parse object extend('todo'); const query = new parse query(todo); const now = new date(); const thirty days = 30 24 60 60 1000; const cutoff = new date(now thirty days); query lessthan('createdat', cutoff); try { const oldtodos = await query find({ usemasterkey true }); await parse object destroyall(oldtodos, { usemasterkey true }); return `deleted ${oldtodos length} old todos `; } catch (err) { throw new error('error during cleanup ' + err message); } }); 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 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 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 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 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 dengan 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