Especificar dependências

O Composer é executado automaticamente quando implementa uma nova versão da sua aplicação. Basta adicionar a linha seguinte à parte superior dos seus scripts PHP para exigir o ficheiro autoload.php:

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

O Composer adiciona os pacotes ao diretório vendor/ da sua app, onde o ficheiro autoload.php é gerado. O carregamento automático do Composer carrega automaticamente as classes instaladas pelo Composer sem uma declaração require para cada ficheiro.

Por predefinição, o diretório vendor/ é ignorado no ficheiro .gcloudignore gerado para reduzir o número de ficheiros enviados na implementação.

Pode declarar dependências para PHP num ficheiro composer.json padrão. Por exemplo:

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

Pode usar qualquer pacote PHP compatível com Linux no App Engine. O tempo de execução procura um ficheiro composer.json no diretório de origem da sua aplicação e usa composer para instalar todas as dependências antes de iniciar a aplicação.

Os scripts definidos no seu ficheiro composer.json não são executados quando o compositor pode usar um resultado em cache.

Por predefinição, o App Engine armazena em cache as dependências obtidas para reduzir os tempos de compilação. Para instalar uma versão não colocada em cache da dependência, use o comando:

gcloud app deploy --no-cache

Instalar e executar localmente

Use o composer para instalar as suas dependências localmente:

composer install
Para fixar as dependências à respetiva versão atual, confirme o ficheiro composer.lock na sua aplicação.

Pode testar a sua aplicação através do servidor Web à sua escolha. Para executar rapidamente a sua aplicação, pode usar o servidor Web integrado do PHP.

Instalar uma framework Web

Por predefinição, o App Engine publica todos os pedidos através do ficheiro public/index.php ou index.php. Não é necessário um framework, mas é recomendado. Pode usar qualquer framework Web com o App Engine, incluindo o seguinte:

Instalar as bibliotecas de cliente da Google Cloud

A biblioteca cliente da Google Cloud para PHP é uma biblioteca cliente para aceder a serviços que reduz o código repetitivo que tem de escrever. Google Cloud A biblioteca oferece abstrações de API de alto nível e fáceis de compreender. Adota expressões idiomáticas do PHP, funciona bem com a biblioteca padrão e tem uma integração mais estreita com a sua base de código. Tudo isto significa que passa mais tempo a criar código que é importante para si.

  1. Instale a biblioteca localmente:

    composer require google/cloud
    
  2. Pode processar a autenticação localmente através da CLI do Google Cloud. Se quiser que a sua aplicação local use temporariamente as suas próprias credenciais de utilizador para acesso à API, execute o seguinte comando:

    gcloud auth application-default login
    

    Para ver detalhes sobre a configuração das bibliotecas cliente do Google Cloud para PHP para processar a autenticação automaticamente, consulte o artigo Autentique-se nos serviços Google Cloud através de bibliotecas cliente.

Usar repositórios privados

Para usar bibliotecas em repositórios privados, tem de concluir as seguintes tarefas:

  • Configure o repositório.
  • Dê a composer o segredo para aceder ao repositório privado.

O exemplo seguinte ilustra como aceder a um repositório privado no GitHub.

  1. Configure o repositório no composer.json através de vcs para o tipo:

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

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

Pode obter o token de autorização do GitHub na IU administrativa do GitHub.

Segue-se outro exemplo que ilustra como aceder a um repositório privado para o Bitbucket.

  1. Configure o repositório no composer.json através de vcs para o tipo:

    "repositories": [
        {
            "type": "vcs",
            "url":  "https://bitbucket.org/username/private_git"
        }
    ]
    
  2. Crie um ficheiro com o nome auth.json no diretório raiz do projeto:

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