Download the PHP package area17/edge-flush without Composer

On this page you can find all versions of the php package area17/edge-flush. 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 edge-flush

EdgeFlush

GitHub PHPUnit Action Status GitHub PHPStan Action Status

EdgeFlush is Laravel package intended to help developers manage CDN granular caching and invalidations. Having Akamai, CloudFront (or any other CDN) in front of a website, data modification usually forces us to bust the whole cache, leading to a website slow (for the first users) until the whole cache is rebuilt, and if the "first user" is Google Bot, for example, this can also impact on your website's rank. This pacakge aims to do invalidations granularly.

Feature list

Installation

Install the package via composer:

Publish the config file with:

And run the migrations:

Dependencies

The supported CDN services have these package dependencies that you need to choose according to your setup:

Akamai: akamai-open/edgegrid-auth CloudFront: aws/aws-sdk-php

Usage

Do a full read on the config/edge-flush.php there's a lot of configuration items and we tried to document them all.

Define your CDN service class on config/edge-flush.php:

Add the trait A17\EdgeFlush\Behaviours\CachedOnCDN to your models and repositories.

Call $this->invalidateCDNCache($model) every time a model (on your base model or repository save() method). This example takes in consideration Twill's repositories:

Call $this->cacheModelOnCDN($model) method on model's getAttribute():

Add the Middlware to the Kernel.php file:

Cache-Control max-age and s-maxage is set automatically, but if you need to change it depending on the current request you can use the following method:

If you want to invalidate your paths in batches, add a scheduler setting the desired frequency for this to happen:

You need to enable the package and the warmer on your .env file

CDN third-party service configuration

Please check the respective environment variables needed for supported services to work:

Rewarming cache

Purged cache pages can load slowly for the next users or even Google Bot, if you want to prevent this you can enable (on config) the cache warmer and add the job to the schedule:

Note that the most hit (or frequently updated) pages will be warmed first.

Akamai Edge Cache Tags

Akamai has a 128 bytes limit for the tag list, so if one page is impacted by lots of models, we would have no other way than busting the whole cache every time. This package creates a single Edge Cache Tag that relates to all models touched when the page was rendered, and adds it yo the response header:

Invalidating the full cache from the command line

In case you need to invalidate the whole CDN cache locally or on a deployment routing, you can:

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.


All versions of edge-flush with dependencies

PHP Build Version
Package Version
Requires php Version ^8.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 area17/edge-flush contains the following files

Loading the files please wait ....