PHPackages                             elaberino/symfony-style-verbose - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [CLI &amp; Console](/categories/cli)
4. /
5. elaberino/symfony-style-verbose

ActiveLibrary[CLI &amp; Console](/categories/cli)

elaberino/symfony-style-verbose
===============================

Add methods to SymfonyStyle to only create output when verbosity flags are set

1.2.2(6mo ago)01.8kMITPHPPHP &gt;=7.4

Since Oct 3Pushed 6mo ago1 watchersCompare

[ Source](https://github.com/brumble-dev/symfony-style-verbose)[ Packagist](https://packagist.org/packages/elaberino/symfony-style-verbose)[ RSS](/packages/elaberino-symfony-style-verbose/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (6)Dependencies (8)Versions (8)Used By (0)

Symfony Style Verbose
=====================

[](#symfony-style-verbose)

This class generates new methods for each output method of symfony style, which only create output based on the defined verbositoy level, e.g. for title, titleIfVerbose(), titleIfVeryVerbose() and titleIfDebug().

The idea is to reduce complexity, if you need output only on some verbosity level.

Example
-------

[](#example)

### Before:

[](#before)

```
$io = new SymfonyStyle($input, $output);

try {
    if ($output->isVerbose()) {
        $io->title('This is my title');
        $io->section('This is my section');
    }

    //do some stuff here

    if ($output->isVerbose()) {
        $io->section('Get objects');
        $io->progressStart(count($objects));
    }
    $objects = $this->repository->findBy(['active' => true]);

    foreach ($objects as $object) {
        //do something with the object
        if ($output->isVerbose()) {
            $io->progressAdvance();
        }
    }

    if ($output->isVerbose()) {
        $io->progressFinish();
        $io->success('All objects handled');
    }
} catch (Throwable $throwable) {
    if ($output->isVerbose()) {
        $io->error('Error while handling products');
    }
    return Command::FAILURE;
}

return Command::SUCCESS;
```

### After:

[](#after)

```
$io = new SymfonyStyleVerbose($input, $output);

try {
    $io->titleIfVerbose('This is my title');
    $io->sectionIfVerbose('This is my section');

    //do some stuff here

    $io->sectionIfVerbose('Get objects');
    $io->progressStartIfVerbose(count($objects));
    $objects = $this->repository->findBy(['active' => true]);

    foreach ($objects as $object) {
        //do something with the object
        $io->progressAdvanceIfVerbose();
    }

    $io->progressFinishIfVerbose();
    $io->successIfVerbose('All objects handled');
} catch (Throwable $throwable) {
    $io->errorIfVerbose($throwable->getMessage());

    return Command::FAILURE;
}

return Command::SUCCESS;
```

Rector Rules
------------

[](#rector-rules)

There are rector rules which can make the changes like in the example for you. Go to the [Rules Overview](./docs/rules_overview.md) to see the rules details.

There ist also a SetList which combines all existing rules.

```
    $rectorConfig->sets([
        \Elaberino\SymfonyStyleVerbose\Utils\Rector\Set\SymfonyStyleVerboseSetList::CHANGE_OUTPUT,
    ]);
```

###  Health Score

38

—

LowBetter than 85% of packages

Maintenance67

Regular maintenance activity

Popularity17

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~225 days

Recently: every ~278 days

Total

6

Last Release

192d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/c23590ae644e28c1274a39ac58a298c324776f900336032e886af6993e6162c4?d=identicon)[elaberino](/maintainers/elaberino)

---

Top Contributors

[![brumble-dev](https://avatars.githubusercontent.com/u/9021489?v=4)](https://github.com/brumble-dev "brumble-dev (6 commits)")

---

Tags

symfony-consoleverbosesymfony command linesymfony stylesymfony clisymfony terminal

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan, Rector

Code StyleECS

Type Coverage Yes

### Embed Badge

![Health badge](/badges/elaberino-symfony-style-verbose/health.svg)

```
[![Health](https://phpackages.com/badges/elaberino-symfony-style-verbose/health.svg)](https://phpackages.com/packages/elaberino-symfony-style-verbose)
```

###  Alternatives

[illuminate/console

The Illuminate Console package.

12944.1M5.1k](/packages/illuminate-console)[matthiasnoback/symfony-console-form

Use Symfony forms for Console command input

368264.8k8](/packages/matthiasnoback-symfony-console-form)[shel/neos-terminal

Neos CMS Ui terminal for running Eel expressions and other commands

1441.3k](/packages/shel-neos-terminal)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
