Download the PHP package google/cloud-functions-framework without Composer

On this page you can find all versions of the php package google/cloud-functions-framework. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package cloud-functions-framework

Functions Framework for PHP Packagist

PHP unit CI PHP lint CI PHP conformace CI Security Scorecard

An open source FaaS (Function as a service) framework for writing portable PHP functions.

The Functions Framework lets you write lightweight functions that run in many different environments, including:

The framework allows you to go from:

To:

All without needing to worry about writing an HTTP server or complicated request handling logic.

Watch this video to learn more about Functions Frameworks.

Features

Installation

Add the Functions Framework to your composer.json file using Composer.

Define your Function

Create an index.php file with the following contents:

Quickstarts

Run your function locally

After completing the steps under Installation and Define your Function, run the following commands:

Open http://localhost:8080/ in your browser and see Hello World from a PHP HTTP function!.

Run your function in a container

After completing the steps under Installation and Define your Function, build the container using the example Dockerfile:

Run the cloud functions framework container:

Open http://localhost:8080/ in your browser and see Hello World from a PHP HTTP function. You can also send requests to this function using curl from another terminal window:

Run your function on Google Cloud Functions

NOTE: For an extensive list of samples, see the PHP functions samples and the official how-to guides.

Follow the steps below to deploy to Google Cloud Functions. More information on function deployment is available in the GCF documentation.

To run your function on Cloud Functions, first you must have the gcloud SDK installed and authenticated.

Make sure your source file (which defines your function) is called index.php. The Functions Framework lets you choose a function source file, but Cloud Functions currently uses the default of index.php.

Decide which function in the source file to invoke, that is, the name that you used when writing the function. This is called the target.

Choose a Cloud Functions name for your function. The name identifies this function deployment (e.g. in the cloud console) and is also part of the function's default URL. (Note: the name and the target do not have to be the same value.)

Then, from the directory containing your function source, issue the gcloud command to deploy:

The --entry-point flag can be omitted if the target has the same value as the name.

If your function handles events rather than HTTP requests, you'll need to replace --trigger-http with a different trigger. For details, see the reference documentation for gcloud functions deploy.

To update your deployment, just redeploy using the same function name. Configuration flags are not required.

Run your function in Cloud Run

To run your function in Cloud Run, first you must have the gcloud SDK installed and authenticated.

Additionally, you need to have a Google Cloud project ID for the Google Cloud Project you want to use.

After completing the steps under Installation and Define your Function, build the container using the example Dockerfile. This Dockerfile is built on top of the App Engine runtime for PHP 7.4, but you can use any container you want as long as your application listens on Port 8080.

NOTE: Be sure to replace $GCLOUD_PROJECT with your Google Cloud project ID, or set the environment variable using export GCLOUD_PROJECT="some-project-id".

Next, push your image to Google Container Registry. This will allow you to deploy it directly from Cloud Run.

Finally, use the gcloud command-line tool to deploy to Cloud Run:

NOTE: Be sure to replace $CLOUD_RUN_REGION with the correct region for your Cloud Run instance, for example us-central1.

After your instance deploys, you can access it at the URL provided, or view it in the Cloud Console.

Use CloudEvents

The Functions Framework can unmarshall incoming CloudEvents payloads to a cloudevent object. This will be passed as arguments to your function when it receives a request. Note that your function must use the cloudevent function signature:

You will also need to set the FUNCTION_SIGNATURE_TYPE environment variable to cloudevent.

In a separate tab, make a cURL request in Cloud Event format to your function:

Your original process should output the following:

IMPORTANT: The above tutorials to deploy to a docker container and to Cloud Run work for CloudEvents as well, as long as FUNCTION_TARGET and FUNCTION_SIGNATURE_TYPE are set appropriately.

Working with PSR-7 HTTP Objects

The first parameter of your function is a Request object which implements the PSR-7 ServerRequestInterface:

You can return a PSR-7 compatible ResponseInterface instead of a string. This allows you to set additional request properties such as the HTTP Status Code and headers.

A request to this function will produce a response similar to the following:

See the PSR-7 documentation documentation for more on working with the request and response objects.

Use Google Cloud Storage

When you require the google/cloud-storage package with composer, the functions framework will register the gs:// stream wrapper. This enables your function to read and write to Google Cloud Storage as you would any filesystem:

You can unregister this at any time by using stream_wrapper_unregister:

Run your function on Knative

Cloud Run and Cloud Run on GKE both implement the Knative Serving API. The Functions Framework is designed to be compatible with Knative environments. Just build and deploy your container to a Knative environment.

If you want even more control over the environment, you can deploy your container image to Cloud Run on GKE. With Cloud Run on GKE, you can run your function on a GKE cluster, which gives you additional control over the environment (including use of GPU-based instances, longer timeouts and more).

Configure the Functions Framework

You can configure the Functions Framework using the environment variables shown below:

Environment variable Description
FUNCTION_TARGET The name of the exported function to be invoked in response to requests.
FUNCTION_SOURCE The name of the file containing the source code for your function to load. Default: index.php (if it exists)
FUNCTION_SIGNATURE_TYPE The signature used when writing your function. Controls unmarshalling rules and determines which arguments are used to invoke your function. Can be either http, event, or cloudevent. Default: http

Contributing

Contributions to this library are welcome and encouraged. See CONTRIBUTING for more information on how to get started.


All versions of cloud-functions-framework with dependencies

PHP Build Version
Package Version
Requires php Version >=8.1
guzzlehttp/psr7 Version ^1.7|^2.0
psr/http-message Version ^2.0
cloudevents/sdk-php Version ^1.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package google/cloud-functions-framework contains the following files

Loading the files please wait ....