Especifique dependências em PHP
Usa o Composer para gerir dependências em PHP.
Instalar o Composer
Se ainda não tiver o Composer instalado, pode fazê-lo da seguinte forma:
Transfira o Composer para qualquer localização que pretenda.
Depois de transferido, mova o ficheiro
composer.phar
para um diretório que esteja no caminho do sistema, por exemplo:mv composer.phar /usr/local/bin/composer
Criar um ficheiro composer.json
O ficheiro composer.json
lista as dependências da sua função. Pode criá-lo manualmente ou executar o seguinte comando:
composer init
Quando executa este comando, é-lhe pedido interativamente que preencha os campos, ao mesmo tempo que são oferecidas algumas predefinições inteligentes.
Declarar dependências
Para declarar dependências, adicione um ficheiro composer.json
com dependências ao diretório do código da função. Neste exemplo, precisamos do
Functions Framework
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" ] } }
Tenha em atenção que os scripts definidos no seu
ficheiro
composer.json
não são executados quando o Composer pode usar um resultado em cache.
Adicione o Functions Framework como uma dependência
O tempo de execução do PHP das funções do Cloud Run requer 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 (este diretório também tem de conter o ficheiro composer.json
):
composer require google/cloud-functions-framework
Isto adiciona o Functions Framework ao seu composer.json
e instala o pacote no diretório vendor/
.
Ficheiro autoload.php
Um dos ficheiros contidos no seu diretório vendor/
é autoload.php
.
Adicione a seguinte linha à parte superior dos seus scripts PHP para exigir o ficheiro autoload.php
, que require
automaticamente as outras dependências da sua função:
require_once __DIR__ . '/vendor/autoload.php';
Por predefinição, o diretório vendor/
é ignorado no ficheiro .gcloudignore
gerado para reduzir o número de ficheiros enviados na implementação.
A atualizar dependências
Para atualizar as dependências da função e o ficheiro composer.lock
, use o
comando update
:
composer update
Esta ação resolve todas as dependências do projeto e escreve as respetivas versões exatas em composer.lock
.