Menentukan dependensi di PHP

Anda menggunakan Composer untuk mengelola dependensi di PHP.

Menginstal Composer

Jika belum menginstal Composer, Anda dapat melakukannya sebagai berikut:

  1. Download Composer ke lokasi mana pun yang Anda inginkan.

  2. Setelah didownload, pindahkan file composer.phar ke direktori yang ada di jalur sistem Anda, misalnya:

    mv composer.phar /usr/local/bin/composer
    

Membuat file composer.json

File composer.json mencantumkan dependensi fungsi Anda. Anda dapat membuatnya secara manual, atau menjalankan perintah berikut:

composer init

Saat Anda menjalankan perintah ini, secara interaktif Anda akan diminta untuk mengisi kolom, sekaligus menawarkan beberapa default cerdas.

Mendeklarasikan dependensi

Untuk mendeklarasikan dependensi, tambahkan file composer.json yang berisi dependensi ke direktori kode fungsi Anda. Dalam contoh ini, kita memerlukan Functions Framework dan menambahkan skrip start:

{
    "require": {
        "php": ">= 7.4",
        "google/cloud-functions-framework": "^1.1"
    },
    "scripts": {
        "start": [
           "Composer\\Config::disableProcessTimeout",
           "FUNCTION_TARGET=helloHttp php -S localhost:${PORT:-8080} vendor/google/cloud-functions-framework/router.php"
        ]
    }
}

Perhatikan bahwa skrip yang ditentukan dalam file composer.json Anda tidak akan berjalan jika Composer dapat menggunakan hasil yang di-cache.

Menambahkan Functions Framework sebagai dependensi

Runtime PHP Cloud Functions memerlukan Functions Framework untuk menjadi dependensi eksplisit. Untuk menambahkan Functions Framework sebagai dependensi, jalankan perintah berikut di direktori yang berisi kode fungsi Anda (direktori ini juga harus berisi file composer.json):

composer require google/cloud-functions-framework

Tindakan ini akan menambahkan Functions Framework ke composer.json dan menginstal paket di direktori vendor/.

File autoload.php

Salah satu file yang terdapat dalam direktori vendor/ Anda adalah autoload.php.

Tambahkan baris berikut ke bagian atas skrip PHP Anda untuk meminta file autoload.php, yang secara otomatis require dependensi lain dari fungsi Anda:

require_once __DIR__ . '/vendor/autoload.php';

Secara default, direktori vendor/ diabaikan dalam file .gcloudignore yang dihasilkan untuk mengurangi jumlah file yang dikirim dalam deployment.

Memperbarui dependensi

Untuk memperbarui dependensi fungsi dan file composer.lock, gunakan perintah update:

composer update

Tindakan ini akan me-resolve semua dependensi project dan menulis versi persisnya ke composer.lock.