Como especificar dependências

O Composer é executado automaticamente quando você implanta uma nova versão do seu aplicativo. Basta adicionar a linha a seguir à parte superior dos scripts PHP para exigir o arquivo autoload.php:

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

O Composer adiciona os pacotes ao diretório vendor/ do aplicativo, em que o arquivo autoload.php é gerado. O carregador automático do Composer carrega automaticamente as classes instaladas pelo Composer sem uma instrução require para cada arquivo.

Por padrão, o diretório vendor/ é ignorado no arquivo gerado .gcloudignore para reduzir o número de arquivos enviados na implantação.

É possível declarar dependências do PHP em um arquivo composer.json padrão. Exemplo:

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

Use qualquer pacote PHP compatível com o Linux no App Engine. O ambiente de execução procura um arquivo composer.json no diretório de origem do aplicativo e usa o composer (ambos em inglês) para instalar as dependências antes de iniciar o aplicativo.

Os scripts definidos no arquivo composer.json (todos em inglês) não serão executados quando o Composer puder usar um resultado armazenado em cache.

Por padrão, o App Engine armazena em cache as dependências buscadas para reduzir o tempo de criação. Para instalar uma versão sem cache da dependência, use o comando:

gcloud app deploy --no-cache

Como instalar e executar no local

Use o composer para instalar as dependências no local:

composer install
Para fixar as dependências na versão atual, confirme o arquivo composer.lock no aplicativo.

Teste o aplicativo usando o servidor da Web da sua preferência. Para executar o aplicativo com rapidez, use o servidor da Web integrado do PHP.

Como instalar um framework da Web

Por padrão, o App Engine exibe todas as solicitações pelo arquivo public/index.php ou index.php. Ter um framework não é obrigatório, mas é recomendado. Use qualquer biblioteca da Web com o App Engine, incluindo estas:

Como instalar as bibliotecas de cliente do Cloud

A biblioteca de cliente do Google Cloud para PHP é uma biblioteca de cliente para acessar serviços do Google Cloud que reduzem o código boilerplate que você precisa escrever. A biblioteca fornece abstrações detalhadas de API fáceis de entender. Ela abrange os termos de PHP, funciona bem com a biblioteca padrão e oferece mais integração com sua base de código. Assim, você passa mais tempo criando o código necessário.

  1. Instale a biblioteca localmente:

    composer require google/cloud
    
  2. Também é possível processar a autenticação localmente usando a Google Cloud CLI. Se preferir que o aplicativo local use temporariamente suas próprias credenciais de usuário para acessar a API, execute:

    gcloud auth application-default login
    

    Para saber mais sobre como configurar bibliotecas de cliente do Cloud para PHP para lidar com a autenticação automaticamente, consulte Autenticar para os serviços do Cloud usando bibliotecas de cliente.

Como usar repositórios privados

Para usar bibliotecas nos repositórios privados, realize as seguintes tarefas:

  • Configure o repositório.
  • Forneça ao composer o segredo para acessar o repositório particular.

O exemplo a seguir mostra como acessar um repositório particular no GitHub.

  1. Configure o repositório em composer.json usando vcs para o tipo:

    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/username/private_package"
        }
    ]
    
  2. Crie um arquivo chamado auth.json no diretório-raiz do seu projeto:

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

Você consegue o token de autenticação do GitHub na IU administrativa dele.

Veja outro exemplo que mostra como acessar um repositório particular do Bitbucket.

  1. Configure o repositório em composer.json usando vcs para o tipo:

    "repositories": [
        {
            "type": "vcs",
            "url":  "https://bitbucket.org/username/private_git"
        }
    ]
    
  2. Crie um arquivo chamado auth.json no diretório-raiz do seu projeto:

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