Skip to content

Commit

Permalink
updates
Browse files Browse the repository at this point in the history
  • Loading branch information
JoshuaEstes committed Oct 23, 2024
1 parent ca1022b commit 74cc49e
Show file tree
Hide file tree
Showing 2 changed files with 121 additions and 28 deletions.
23 changes: 13 additions & 10 deletions src/SonsOfPHP/Bard/README.md
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
126 changes: 108 additions & 18 deletions src/SonsOfPHP/Bundle/FeatureToggleBundle/README.md
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

0 comments on commit 74cc49e

Please sign in to comment.