News

Feature Flags for Laravel

Published
Feature Flags for Laravel image

The Feature Flags package for Laravel by Peter Fox helps you handle Feature Toggles (aka Feature Flags) in your Laravel applications:

A Feature flag is sometimes also referred to as a feature toggle or feature switch. Ultimately it’s a coding strategy to be used along with source control to make it easier to continuous integrate and continuous deployment. The idea of the flags works by essentially safe guarding sections of code from executing if a feature flag isn’t in a switched on state.

This package aims to make implementing such flags across your application a great deal easier by providing solutions that work with not only your code but your routes, blade files, task scheduling and validations.

This package provides configuration with multiple storage options, and helps you in various contexts:

  • Blade Views
  • Routing Middleware
  • Validation Rules
  • Task Scheduling
  • Artisan Commands
  • Custom PHP logic

With this package you can use the provides Features facade or service to do things like check if a feature is on or off:

Features::accessible('my-feature') // returns true or false

The same check within a blade template would look like the following:

@feature('my-feature')
<p>Your feature flag is turned on.
@endfeature
 
@feature('my-feature', false)
<p>Your feature flag is turned off.
@endfeature

Using the same feature name, you could toggle a route on/off using the provided middleware:

Route::get('/', 'SomeController@get')
->middleware('feature:my-feature');

You can learn more about this package, get full installation instructions, and view the source code on GitHub at ylsideas/feature-flags.

Paul Redmond photo

Staff writer at Laravel News. Full stack web developer and author.

Filed in

Sponsored

masteringlaravel logo
Laravel Code Review

Get expert guidance in a few days with a Laravel code review

Visit Laravel Code Review

The latest

View all →
CPX: The Composer Package Executor for PHP image

CPX: The Composer Package Executor for PHP

Read article
Laravel AI SDK Adds Human-in-the-Loop Tool Approval image

Laravel AI SDK Adds Human-in-the-Loop Tool Approval

Read article
Pest 5 Released With Test Impact Analysis, Agent Verification, and Evals image

Pest 5 Released With Test Impact Analysis, Agent Verification, and Evals

Read article
Queue-SQL: Run Mass Deletes and Updates Across Parallel Queue Jobs image

Queue-SQL: Run Mass Deletes and Updates Across Parallel Queue Jobs

Read article
Blade Formatting in Laravel Pint image

Blade Formatting in Laravel Pint

Read article
Inertia DevTools Is Now on the Chrome Web Store image

Inertia DevTools Is Now on the Chrome Web Store

Read article