Download the PHP package pod-point/laravel-configcat without Composer

On this page you can find all versions of the php package pod-point/laravel-configcat. 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 laravel-configcat

Laravel ConfigCat

Latest Version on Packagist GitHub Workflow Status Software License Total Downloads

Implement feature flags within your Laravel application using ConfigCat cloud service.

Installation

You can install the package via composer:

Publishing the config file

Next, you should publish the Laravel package configuration file using the vendor:publish Artisan command. It will be placed in your application's config directory:

Don't forget to specify your ConfigCat SDK key within the freshly published Laravel configuration file under config/configcat.php.

The Laravel configuration for this package comes with sensible defaults. See config/configcat.php for more details.

Usage

Facade & global helper

The ConfigCat facade as well as the global helper can be used to retrieve the actual value of the feature flag, text or number setting:

Note: You can define the actual value of a feature flag to be bool(true) or bool(false) on ConfigCat but not only, it can also be a number or a text setting.

If the feature flag is undefined or something went wrong, bool(false) will be returned by default, however you can change this by specifying a default value only when using the Facade or the global helper to retrieve the feature flag value using:

You can also globally sepcify a default value from the config/configcat.php file.

:warning: Only boolean, string, integer or float default value types are supported as these are the only setting types available from ConfigCat.

Validation rule

Given the following validation rules:

HTTP middleware

The following route will only be accessible if the feature flag is truthy, otherwise a 404 will be thrown.

The opposite is possible, also throwing a 404 if the feature flag is falsy:

Note: undefined, text or number settings will be considered as feature flags turned off.

Blade directive

The following view content will only be rendered if the feature flag is truthy:

Note: undefined, text or number settings will be considered as feature flags turned off.

Advanced usage

User targeting

The User Object is essential if you'd like to use ConfigCat's Targeting feature.

ConfigCat needs to understand the representation of your users from your application. To do so, you will need to transform your user into a ConfigCat\User object. This can be done directly from the config/configcat.php file. Here is an example:

Which will be using a sensible default transformer:

Feel free to create your own transformer class and use it instead, just remember that it needs to be callable with the __invoke() function.

Note: for security reasons, all of the logic computation for the user targeting is executed on your application side of things using ConfigCat's SDK. No user details will be leaving your application in order find out wether or not a user should have a feature flag enabled or not.

Once you have defined your mapping, you will be able to explicitly use the representation of your user when checking a feature flag:

This is also applicable for the global helper and the Blade directive:

Note: if you have defined your user mapping but are not explicitly using a specific user when checking for a flag, we will automatically try to use the logged in user, if any, for convenience.

Caching & logging

This package supports native Laravel caching and logging capabilities in order to cache the feature flag values from ConfigCat's CDN as well as log any information when resolving feature flags. We've setup some sensible defaults but various levels of caching and logging can be configured.

See config/configcat.php for more info.

Test support: mock, fake & overrides

In-memory testing

When writing unit or functional tests, you may need to be able to mock or fake this package completely so you can test various behaviors within your application. This is all possible through the powerful Facade.

Mocking:

See https://laravel.com/docs/mocking#mocking-facades for more info.

Fake:

Faking it will prevent the package to genuinely try to hit ConfigCat's CDN:

End-to-end testing

When running tests within a browser which doesn't share the same instance of the application, using mocks or fakes is not applicable. This is why we provide some overrides through ConfigCat SDK which will make the client under the hood localhost only and will use a locally generated json file in order to read the feature flags for the system under test.

First of all, you will need to make sure to enable overrides from config/configcat.php. You could also optionally tweak the file path for the json file if you wish to. The file will be automatically created for you when using overrides.

Similarly to ConfigCat::fake() you can come up with some predefined feature flags which will be saved into a json file:

Testing

Run the tests with:

Changelog

Please see our Releases for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Credits

License

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


Travel shouldn't damage the earth 🌍

Made with ❤️  at Pod Point


All versions of laravel-configcat with dependencies

PHP Build Version
Package Version
Requires php Version >=8.1
configcat/configcat-client Version ^9.0
illuminate/contracts Version ^10.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 pod-point/laravel-configcat contains the following files

Loading the files please wait ....