Specifica delle dipendenze

Composer viene eseguito automaticamente quando esegui il deployment di una nuova versione dell'applicazione. Devi solo aggiungere il parametro riga seguente all'inizio degli script PHP per richiedere autoload.php file:

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

Composer aggiunge i pacchetti alla directory vendor/ dell'app, in cui Viene generato il file autoload.php. Il caricatore automatico Composer carica automaticamente classi installate da Composer senza un'istruzione require per ogni file.

Per impostazione predefinita, la directory vendor/ viene ignorata nella sezione .gcloudignore per ridurre di file inviati durante il deployment.

Puoi dichiarare le dipendenze per PHP in un file composer.json standard. Ad esempio:

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

In App Engine puoi utilizzare qualsiasi pacchetto PHP compatibile con Linux. Il runtime cerca un file composer.json nell'origine dell'applicazione e utilizza composer per installare le dipendenze prima avviare l'applicazione.

Script definiti nel file composer.json non verrà eseguito se Composer può utilizzare un risultato memorizzato nella cache.

Per impostazione predefinita, App Engine memorizza nella cache le dipendenze recuperate per ridurre volte. Per installare una versione della dipendenza non memorizzata nella cache, utilizza il comando:

gcloud app deploy --no-cache

Installazione ed esecuzione in locale

Utilizza composer per installare le dipendenze localmente:

composer install
Per bloccare le dipendenze alla versione corrente, esegui il commit del file composer.lock nell'applicazione.

Puoi testare l'applicazione utilizzando il server web che preferisci. Per eseguire rapidamente la tua applicazione, puoi utilizzare Server web integrato di PHP.

Installazione di un framework web

Per impostazione predefinita, App Engine gestisce tutte le richieste tramite public/index.php o index.php. Non è necessario un framework, ma è incoraggiati. Con App Engine puoi utilizzare qualsiasi framework web, incluso il seguenti:

Installazione delle librerie client Cloud

La libreria client di Google Cloud per PHP è una libreria client per accedere ai servizi Google Cloud riduce il codice boilerplate che devi scrivere. La libreria ti offre contenuti astrazioni delle API facili da comprendere. Include le espressioni idiomatiche del linguaggio PHP, funziona bene con la libreria standard e ha una maggiore integrazione codebase. Tutto ciò significa che puoi dedicare più tempo alla creazione di codice che per te è importante.

  1. Installa la libreria in locale:

    composer require google/cloud
    
  2. Puoi gestire l'autenticazione localmente utilizzando Google Cloud CLI. Se vuoi che la tua applicazione locale utilizzi temporaneamente le tue credenziali utente per accedere all'API, esegui:

    gcloud auth application-default login
    

    Per maggiori dettagli sulla configurazione delle librerie client di Cloud per PHP per la gestione dell'autenticazione automaticamente, consulta Autenticazione nei servizi Cloud utilizzando librerie client.

Utilizzo di repository privati

Per utilizzare le librerie in repository privati, devi completare le seguenti attività:

  • Configura il repository.
  • Fornisci a composer il secret per accedere al repository privato.

L'esempio seguente illustra come accedere a un repository privato in GitHub.

  1. Configura il repository in composer.json utilizzando vcs per il tipo:

    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/username/private_package"
        }
    ]
    
  2. Crea un file denominato auth.json nella directory principale del progetto:

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

Puoi ottenere il token di autenticazione GitHub dalla UI amministrativa di GitHub.

Ecco un altro esempio che illustra come accedere a un repository privato Bitbucket.

  1. Configura il repository in composer.json utilizzando vcs per il tipo:

    "repositories": [
        {
            "type": "vcs",
            "url":  "https://bitbucket.org/username/private_git"
        }
    ]
    
  2. Crea un file denominato auth.json nella directory principale del progetto:

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