-
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
ca1022b
commit 74cc49e
Showing
2 changed files
with
121 additions
and
28 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,15 +1,18 @@ | ||
Bard | ||
==== | ||
Sons of PHP - Bard | ||
================== | ||
|
||
Bard is a tool that helps to manage monorepos. | ||
|
||
* init = creates initial bard.json file | ||
* merge = updates all the composer.json files | ||
* validate = validates composer.json files | ||
* split = updates read-only repositories | ||
* release = bump deps, bump version, tag, git push, and updates repos | ||
* changelog = manages changelogs | ||
## Learn More | ||
|
||
## bard.json | ||
* [Documentation][docs] | ||
* [Contributing][contributing] | ||
* [Report Issues][issues] and [Submit Pull Requests][pull-requests] in the [Mother Repository][mother-repo] | ||
* Get Help & Support using [Discussions][discussions] | ||
|
||
### version | ||
[discussions]: https://github.com/orgs/SonsOfPHP/discussions | ||
[mother-repo]: https://github.com/SonsOfPHP/sonsofphp | ||
[contributing]: https://docs.sonsofphp.com/contributing/ | ||
[docs]: https://docs.sonsofphp.com/ | ||
[issues]: https://github.com/SonsOfPHP/sonsofphp/issues?q=is%3Aopen+is%3Aissue+label%3ABard | ||
[pull-requests]: https://github.com/SonsOfPHP/sonsofphp/pulls?q=is%3Aopen+is%3Apr+label%3ABard |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,23 +1,113 @@ | ||
<div align="center"> | ||
<img src="https://raw.githubusercontent.com/SonsOfPHP/.github/main/assets/top-rocker.png" /> | ||
</div> | ||
<br/> | ||
<div align="center"> | ||
<a href="https://codecov.io/github/SonsOfPHP/sonsofphp"><img src="https://codecov.io/github/SonsOfPHP/sonsofphp/graph/badge.svg?token=VZ2FVOUKUW" /></a> | ||
<img src="https://img.shields.io/packagist/l/sonsofphp/sonsofphp" /> | ||
<img src="https://img.shields.io/packagist/v/sonsofphp/sonsofphp" /> | ||
</div> | ||
Sons of PHP - Feature Toggle Bundle | ||
=================================== | ||
|
||
# Sons of PHP | ||
## Installation | ||
|
||
Sons of PHP is builds reusable components and tools using PHP. | ||
Make sure Composer is installed globally, as explained in the [installation chapter](https://getcomposer.org/doc/00-intro.md) of the Composer documentation. | ||
|
||
* Documentation can be found at [docs.SonsOfPHP.com][docs] | ||
* Please [Report Issues][issues] and send [Pull Requests][pull-requests] in the [Mother Repository][mother-repo] | ||
* You can get more help by posting questions in the [GitHub Discussions][discussions] | ||
### Applications that use Symfony Flex | ||
|
||
Open a command console, enter your project directory and execute: | ||
|
||
```sh | ||
composer require sonsofphp/feature-toggle-bundle | ||
``` | ||
|
||
### Applications that don't use Symfony Flex | ||
|
||
#### Step 1: Download the Bundle | ||
|
||
Open a command console, enter your project directory and execute the following command to download the latest stable version of this bundle: | ||
|
||
```sh | ||
composer require sonsofphp/feature-toggle-bundle | ||
``` | ||
|
||
#### Step 2: Enable the Bundle | ||
|
||
Then, enable the bundle by adding it to the list of registered bundles in the `config/bundles.php` file of your project: | ||
|
||
```php | ||
// config/bundles.php | ||
|
||
return [ | ||
// ... | ||
SonsOfPHP\Bundle\FeatureToggleBundle\SonsOfPHPFeatureToggleBundle::class => ['all' => true], | ||
]; | ||
``` | ||
|
||
## Configuration | ||
|
||
```yaml | ||
# config/packages/sons_of_php_feature_toggle.yaml | ||
sons_of_php_feature_toggle: | ||
features: | ||
# You can create as many features as you want | ||
enabled_key: | ||
# Features can be enabled, disabled, or use a custom toggle | ||
toggle: enabled | ||
disabled_key: | ||
toggle: disabled | ||
custom_toggle_key: | ||
toggle: app.toggle.admin_users | ||
``` | ||
## Debug Command | ||
You can debug your features by running the `debug:features` command. | ||
|
||
```sh | ||
php bin/console debug:features | ||
``` | ||
|
||
This will give you a list of features and the toggles they are using. | ||
|
||
## Twig Templates | ||
|
||
You can check to see if the feature is enabled in twig templates by using the `is_feature_enabled` function. | ||
|
||
```twig | ||
{% raw %} | ||
{% if is_feature_enabled('enabled_key') %} | ||
Feature "enabled_key" is enabled | ||
{% else %} | ||
Feature "enabled_key" is disabled | ||
{% endif %} | ||
{% endraw %} | ||
``` | ||
|
||
## Services | ||
|
||
```php | ||
<?php | ||
use SonsOfPHP\Contract\FeatureToggle\FeatureToggleProviderInterface; | ||
class ExampleService | ||
{ | ||
public function __construct( | ||
private FeatureToggleProviderInterface $featureToggleProvider, | ||
) {} | ||
public function doSomething() | ||
{ | ||
if ($featureToggleProvider->get('enabled_key')->isEnabled()) { | ||
// "enabled_key" is enabled | ||
} | ||
} | ||
} | ||
``` | ||
|
||
## Learn More | ||
|
||
* [Documentation][docs] | ||
* [Contributing][contributing] | ||
* [Report Issues][issues] and [Submit Pull Requests][pull-requests] in the [Mother Repository][mother-repo] | ||
* Get Help & Support using [Discussions][discussions] | ||
|
||
[mother-repo]: <https://github.com/SonsOfPHP/sonsofphp> "Sons of PHP Mother Repository" | ||
[discussions]: https://github.com/orgs/SonsOfPHP/discussions | ||
[issues]: https://github.com/SonsOfPHP/sonsofphp/issues | ||
[pull-requests]: https://github.com/SonsOfPHP/sonsofphp/pulls | ||
[docs]: https://docs.sonsofphp.com | ||
[mother-repo]: https://github.com/SonsOfPHP/sonsofphp | ||
[contributing]: https://docs.sonsofphp.com/contributing/ | ||
[docs]: https://docs.sonsofphp.com/ | ||
[issues]: https://github.com/SonsOfPHP/sonsofphp/issues?q=is%3Aopen+is%3Aissue+label%3AFeatureToggle | ||
[pull-requests]: https://github.com/SonsOfPHP/sonsofphp/pulls?q=is%3Aopen+is%3Apr+label%3AFeatureToggle |