Topik ini menggunakan dependensi pihak ketiga Nette\Utils sebagai contoh untuk menjelaskan cara menginstal dependensi untuk kode PHP Anda, mengemas, dan menyebarkan kode ke Function Compute.
Persiapan
Buat direktori kode untuk pengujian dan tentukan nama untuk direktori tersebut. Dalam contoh ini,
mycodedigunakan.Linux dan macOS
Jalankan perintah
mkdir -p /tmp/mycodeuntuk membuat direktori.Windows
Buat folder dan beri nama
mycode.
Di direktori
mycode, buat fileindex.php.Kode berikut menggambarkan isi file.
<?php require_once __DIR__ . '/vendor/autoload.php'; use Nette\Utils\Arrays; function handler($event, $context) { return Arrays::contains([1, 2, 3], 1); }
Gunakan Composer untuk menginstal dependensi dan menyebarkan paket kode
Prerequisites
PHP dan Composer telah terinstal di mesin Anda dan Anda memiliki izin untuk menjalankan perintah Composer. Untuk informasi lebih lanjut tentang Composer, lihat Composer.
Opsional. Fungsi PHP dibuat di konsol Function Compute. Untuk informasi lebih lanjut, lihat Buat Fungsi Acara.
Procedure
Buat file composer.json di direktori
mycode.Contoh kode:
{ "require": { "nette/utils": "v3.2.5" } }Jalankan perintah
composer installdi direktorimycodeuntuk menginstal dependensi.Setelah eksekusi selesai, file composer.lock dan direktori vendor akan dibuat di direktori ini. Dependensi yang diunduh disimpan di direktori vendor.
Kemas semua file di direktori
mycode.Linux dan macOS
Masuk ke direktori
mycodedan jalankan perintahzip code.zip -r ./*.CatatanPastikan Anda memiliki izin baca dan tulis pada direktori.
Windows
Masuk ke direktori
mycode, pilih semua file, klik kanan file, lalu kompres file ke dalam paket ZIP.
CatatanPastikan file
index.phpyang Anda buat berada di direktori root paket.Di konsol Function Compute, temukan fungsi yang ingin Anda kelola. Di pojok kanan atas halaman detail fungsi, klik Upload Code untuk mengunggah paket ZIP yang telah Anda kemas.
Anda juga dapat mengunggah paket ZIP saat membuat fungsi di konsol Function Compute. Untuk informasi lebih lanjut, lihat Buat Fungsi Acara.
Di tab Code halaman detail fungsi, klik Test Function.
Gunakan Serverless Devs untuk menginstal dependensi dan menyebarkan kode
Before you start
Procedure
Edit file
s.yamldi direktorimycode.Contoh kode berikut memberikan contoh file:
edition: 3.0.0 name: fcDeployApp access: "default" vars: # Variabel global. region: "cn-hangzhou" resources: hello_world: component: fc3 # Nama komponen. props: region: ${vars.region} # Untuk informasi tentang cara menggunakan variabel, kunjungi https://docs.serverless-devs.com/serverless-devs/yaml#%E5%8F%98%E9%87%8F%E8%B5%8B%E5%80%BC. functionName: "testphp" description: 'ini adalah tes' runtime: "php7.2" code: ./ handler: index.handler memorySize: 128 timeout: 30Di direktori
mycode, tambahkan filecomposer.json.Contoh kode berikut memberikan contoh file:
{ "require": { "nette/utils": "^3.0" } }Jalankan
sudo s build --use-dockeruntuk menginstal dependensi.Setelah eksekusi selesai, dependensi dan kode diterapkan ke direktori ./vendor.
Jalankan
sudo s deployuntuk menerapkan proyek.Setelah eksekusi, Anda dapat menerapkan fungsi Anda ke Function Compute.
Informasi lebih lanjut
Anda juga dapat menggunakan lapisan dari Function Compute untuk menginstal dependensi. Untuk informasi lebih lanjut, lihat Buat Lapisan Kustom.