Especificar dependências em PHP
Use o Composer (em inglês) para gerenciar dependências em PHP.
Como instalar o Composer
Se você ainda não tiver o Composer instalado, faça o seguinte:
Faça o download do Composer em qualquer local que você escolher.
Depois de fazer o download, mova o arquivo
composer.pharpara um diretório que esteja no caminho do sistema. Por exemplo:mv composer.phar /usr/local/bin/composer
Como criar um arquivo composer.json
O arquivo composer.json lista as dependências da função. É possível
criá-la manualmente ou executar o seguinte comando:
composer init
Ao executar esse comando, ele solicita que você preencha os campos e oferece alguns padrões inteligentes.
Como declarar dependências
Para declarar dependências, adicione um arquivo composer.json contendo dependências
ao diretório de código da função. Neste exemplo, solicitamos o
Functions Framework (em inglês)
e adicionamos um script start:
{ "require": { "php": ">= 8.1", "google/cloud-functions-framework": "^1.1" }, "scripts": { "start": [ "Composer\\Config::disableProcessTimeout", "FUNCTION_TARGET=helloHttp php -S localhost:${PORT:-8080} vendor/google/cloud-functions-framework/router.php" ] } }
Os scripts definidos no
arquivo composer.json
não serão executados quando o Composer puder usar um resultado armazenado em cache.
Adicionar o Functions Framework como uma dependência
O ambiente de execução PHP do Cloud Run functions exige que o Functions Framework seja uma
dependência explícita. Para adicionar o Functions Framework como uma dependência, execute o
seguinte comando no diretório que contém o código da função. Ele também
precisa conter o arquivo composer.json:
composer require google/cloud-functions-framework
Isso adiciona o Functions Framework ao seu composer.json e instala o
pacote no diretório vendor/.
Arquivo autoload.php
Um dos arquivos contidos no seu diretório vendor/ é autoload.php.
Adicione a seguinte linha na parte superior dos scripts PHP para solicitar o
arquivo autoload.php, que automaticamente require(solicita) as outras
dependências da função:
require_once __DIR__ . '/vendor/autoload.php';
Por padrão, o diretório vendor/ é ignorado no arquivo gerado
.gcloudignore para reduzir o
número de arquivos enviados na implantação.
Como atualizar dependências
Para atualizar as dependências da função e o arquivo composer.lock, use o comando update:
composer update
Isso resolve todas as dependências do projeto e grava as versões exatas em
composer.lock.