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.

Déclarer des dépendances

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 beta app deploy --no-cache

Installer et exécuter en local

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

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 :

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>"
            }
        }
    }