PHP code example of google / cloud-functions-framework
1. Go to this page and download the library: Download google/cloud-functions-framework library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
google / cloud-functions-framework example snippets
use Psr\Http\Message\ServerRequestInterface;
function helloHttp(ServerRequestInterface $request)
{
return "Hello World from a PHP HTTP function!" . PHP_EOL;
}
use Psr\Http\Message\ServerRequestInterface;
function helloHttp(ServerRequestInterface $request)
{
return "Hello World from a PHP HTTP function!" . PHP_EOL;
}
use Google\CloudFunctions\CloudEvent;
function helloCloudEvent(CloudEvent $cloudevent)
{
// Print the whole CloudEvent
$stdout = fopen('php://stdout', 'wb');
fwrite($stdout, $cloudevent);
}
use Psr\Http\Message\ServerRequestInterface;
function helloHttp(ServerRequestInterface $request): string
{
return sprintf("Hello %s from PHP HTTP function!" . PHP_EOL,
$request->getQueryParams()['name'] ?? 'World');
}
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Message\ResponseInterface;
use GuzzleHttp\Psr7\Response;
use GuzzleHttp\Psr7\Utils;
function helloHttp(ServerRequestInterface $request): ResponseInterface
{
$body = sprintf("Hello %s from PHP HTTP function!" . PHP_EOL,
$request->getQueryParams()['name'] ?? 'World');
return (new Response())
->withBody(Utils::streamFor($body))
->withStatus(418) // I'm a teapot
->withHeader('Foo', 'Bar');
}
// Get the contents of an object in GCS
$object = file_get_contents('gs://{YOUR_BUCKET_NAME}/object.txt');
// Make modifications
$object .= "\nadd a line";
// Write the new contents back to GCS
file_put_contents('gs://{YOUR_BUCKET_NAME}/object.txt', $object);
// unregister the automatically registered one
stream_wrapper_unregister('gs');
sh
export FUNCTION_TARGET=helloHttp
php -S localhost:8080 vendor/google/cloud-functions-framework/router.php
sh
export FUNCTION_TARGET=helloCloudEvent
export FUNCTION_SIGNATURE_TYPE=cloudevent
php -S localhost:8080 vendor/google/cloud-functions-framework/router.php
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.