Menentukan dependensi

Composer dijalankan secara otomatis saat Anda men-deploy versi baru aplikasi. Cukup tambahkan baris berikut ke bagian atas skrip PHP Anda untuk mewajibkan file autoload.php:

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

Composer menambahkan paket ke direktori vendor/ aplikasi Anda, tempat file autoload.php dibuat. Autoloader Composer secara otomatis memuat class yang diinstal oleh Composer tanpa pernyataan require untuk setiap file.

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

Anda dapat mendeklarasikan dependensi untuk PHP dalam file composer.json standar. Contoh:

{
    "require": {
        "google/cloud": "^0.72"
    }
}

Anda dapat menggunakan paket PHP yang kompatibel dengan Linux di App Engine. Runtime mencari file composer.json di direktori sumber aplikasi Anda dan menggunakan composer untuk menginstal dependensi sebelum memulai aplikasi Anda.

Skrip yang ditentukan dalam file composer.json Anda tidak akan dijalankan saat Composer dapat menggunakan hasil yang di-cache.

Secara default, App Engine meng-cache dependensi untuk mengurangi waktu build. Untuk menginstal versi dependensi yang tidak di-cache, gunakan perintah:

gcloud app deploy --no-cache

Menginstal dan menjalankan secara lokal

Gunakan composer untuk menginstal dependensi secara lokal:

composer install
Untuk menyematkan dependensi ke versi saat ini, commit file composer.lock ke aplikasi Anda.

Anda dapat menguji aplikasi menggunakan server web pilihan Anda. Untuk menjalankan aplikasi dengan cepat, Anda dapat menggunakan server web bawaan PHP.

Menginstal framework web

Secara default, App Engine menyajikan semua permintaan melalui file public/index.php atau index.php. Framework tidak diperlukan, tetapi disarankan. Anda dapat menggunakan framework web apa pun dengan App Engine, termasuk berikut ini:

Menginstal Library Klien Cloud

Library Klien Google Cloud untuk PHP adalah library klien untuk mengakses layanan Google Cloud yang mengurangi kode boilerplate yang harus Anda tulis. Library ini menyediakan abstraksi API tingkat tinggi yang mudah dipahami. Bahasa ini menggunakan idiom PHP, berfungsi baik dengan library standar, dan memiliki integrasi yang lebih erat dengan codebase Anda. Semua ini berarti Anda menghabiskan lebih banyak waktu untuk membuat kode yang penting bagi Anda.

  1. Instal library secara lokal:

    composer require google/cloud
    
  2. Anda dapat menangani autentikasi secara lokal menggunakan Google Cloud CLI. Jika Anda ingin aplikasi lokal menggunakan kredensial pengguna milik Anda untuk sementara untuk akses API, jalankan:

    gcloud auth application-default login
    

    Untuk detail tentang mengonfigurasi Library Klien Cloud untuk PHP guna menangani autentikasi secara otomatis, lihat Mengautentikasi ke layanan Cloud menggunakan library klien.

Menggunakan repositori pribadi

Untuk menggunakan library dalam repositori pribadi, Anda harus menyelesaikan tugas-tugas berikut:

  • Konfigurasikan repositori.
  • Beri secret ke composer untuk mengakses repositori pribadi.

Contoh berikut mengilustrasikan cara mengakses repositori pribadi di GitHub.

  1. Konfigurasikan repositori di composer.json menggunakan vcs untuk jenis:

    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/username/private_package"
        }
    ]
    
  2. Buat file bernama auth.json di direktori utama project Anda:

    {
        "github-oauth": {
            "github.com": "<your-github-auth-token>"
        }
    }
    

Anda bisa mendapatkan token autentikasi GitHub dari UI administratif GitHub.

Berikut ini contoh lain yang menggambarkan cara mengakses repositori pribadi untuk Bitbucket.

  1. Konfigurasikan repositori di composer.json menggunakan vcs untuk jenis:

    "repositories": [
        {
            "type": "vcs",
            "url":  "https://bitbucket.org/username/private_git"
        }
    ]
    
  2. Buat file bernama auth.json di direktori utama project Anda:

    {
        "bitbucket-oauth": {
            "bitbucket.org": {
                "consumer-key": "<your-oauth-consumer-key>",
                "consumer-secret": "<your-oauth-consumer-secret>"
            }
        }
    }