Spécifier des dépendances

Composer s'exécute automatiquement lorsque vous déployez une nouvelle version de votre application. Ajoutez simplement la ligne suivante en haut de vos scripts PHP pour exiger le fichier autoload.php :

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

Composer ajoute les packages au répertoire vendor/ de votre application, où le fichier autoload.php est généré. Le chargeur automatique du fichier Composer charge automatiquement les classes installées par Composer sans instruction require pour chaque fichier.

Par défaut, le répertoire vendor/ est ignoré dans le fichier .gcloudignore généré afin de réduire le nombre de fichiers envoyés en déploiement.

Vous pouvez déclarer des dépendances pour PHP dans un fichier composer.json standard. Exemple :

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

Vous pouvez utiliser n'importe quel package PHP compatible avec Linux dans App Engine. L'environnement d'exécution recherche un fichier composer.json dans le répertoire source de votre application et, avant de démarrer cette dernière, utilise composer pour installer les dépendances.

Les scripts définis dans votre fichier composer.json ne s'exécutent pas lorsque Composer peut utiliser un résultat mis en cache.

Par défaut, App Engine met en cache les dépendances obtenues afin de réduire la durée de compilation. Pour installer une version non mise en cache de la dépendance, exécutez la commande suivante :

gcloud app deploy --no-cache

Installer et exécuter en local

Installez vos dépendances en local à l'aide de Composer :

composer install
Pour épingler les dépendances à leur version actuelle, validez le fichier composer.lock dans votre application.

Vous pouvez tester votre application à l'aide du serveur Web de votre choix. Vous pouvez exécuter rapidement votre application à l'aide du serveur Web intégré de PHP.

Installer un framework Web

Par défaut, App Engine diffuse toutes les requêtes via le fichier public/index.php ou index.php. Un framework n'est pas obligatoire, mais recommandé. Vous pouvez utiliser n'importe quel framework Web avec App Engine, par exemple :

Installer les bibliothèques clientes Cloud

La bibliothèque cliente Google Cloud pour PHP permet d'accéder facilement aux services Google Cloud. De ce fait, la quantité de code récurrent que vous devez développer est réduite. Cette bibliothèque fournit des abstractions d'API de haut niveau, faciles à comprendre. Elle accepte les idiomes de PHP, fonctionne correctement avec la bibliothèque standard et s'intègre mieux à votre codebase. Vous pouvez donc consacrer plus de temps à développer du code qui vous est réellement utile.

  1. Installez la bibliothèque en local :

    composer require google/cloud
    
  2. Vous pouvez gérer l'authentification localement à l'aide de Google Cloud CLI. Si vous souhaitez que votre application locale utilise temporairement vos propres identifiants pour accéder à l'API, exécutez la commande suivante :

    gcloud auth application-default login
    

    Pour en savoir plus sur la configuration des bibliothèques clientes Cloud pour PHP afin de gérer l'authentification automatiquement, consultez la page S'authentifier auprès de services cloud à l'aide de bibliothèques clientes.

Utiliser des dépôts privés

Pour utiliser des bibliothèques dans des dépôts privés, procédez comme suit :

  • Configurez le dépôt.
  • Donnez à composer le secret permettant d'accéder au dépôt privé.

L'exemple suivant montre comment accéder à un dépôt privé dans GitHub.

  1. Configurez le dépôt dans composer.json en définissant le type sur vcs :

    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/username/private_package"
        }
    ]
    
  2. Créez un fichier nommé auth.json dans le répertoire racine de votre projet :

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

Vous pouvez obtenir le jeton d'authentification GitHub à partir de l'interface utilisateur d'administration de GitHub.

Voici un autre exemple illustrant comment accéder à un dépôt privé pour Bitbucket.

  1. Configurez le dépôt dans composer.json en définissant le type sur vcs :

    "repositories": [
        {
            "type": "vcs",
            "url":  "https://bitbucket.org/username/private_git"
        }
    ]
    
  2. Créez un fichier nommé auth.json dans le répertoire racine de votre projet :

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