PHPackages                             coksnuss/yii2-cli-layoutbuilder - 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. coksnuss/yii2-cli-layoutbuilder

ActiveYii2-extension[CLI &amp; Console](/categories/cli)

coksnuss/yii2-cli-layoutbuilder
===============================

Allows to render complex ASCII GUI's on console.

082PHP

Since Jan 9Pushed 11y ago2 watchersCompare

[ Source](https://github.com/Coksnuss/yii2-cli-layoutbuilder)[ Packagist](https://packagist.org/packages/coksnuss/yii2-cli-layoutbuilder)[ RSS](/packages/coksnuss-yii2-cli-layoutbuilder/feed)WikiDiscussions master Synced yesterday

READMEChangelogDependenciesVersions (1)Used By (0)

yii2-cli-layoutbuilder
======================

[](#yii2-cli-layoutbuilder)

Allows to render complex ASCII GUI's on console.

What this extension does
------------------------

[](#what-this-extension-does)

This extension can be used to render ASCII based GUI's on console (i.e. without the help of ncurses or similar libraries). It allows to define a GUI in terms of nested frames which can be nested in horizontal or vertical fashion. Such a frame can have a fixed or dynamic size (in terms of console window width/height).

Installation
------------

[](#installation)

This extension needs to be included via composer by issuing the following console command within the root directory of your yii2 project:

```
composer require --prefer-dist "coksnuss/yii2-cli-layoutbuilder"

```

Thats it. Check the new extension folder to see which classes are available and how to use or extend from them.

Usage
-----

[](#usage)

Below is some example code to get you started.

```
$frameTop = Yii::createObject(['class' => GuiFrame::className(), 'layout' => GuiFrame::LAYOUT_HORIZONTAL, 'border' => 1]);
$frameTop->addElement('Test1.1');
$frameTop->addElement('Test1.2');
$frameTop->addElement('Test1.3');

$frameBottom = Yii::createObject(['class' => GuiFrame::className(), 'layout' => GuiFrame::LAYOUT_HORIZONTAL]);

$frameLeft = Yii::createObject(['class' => GuiFrame::className(), 'layout' => GuiFrame::LAYOUT_VERTICAL, 'border' => 1]);
$frameLeft->addElement('Left Frame 1.1');
$frameLeft->addElement('Left Frame 1.2');
$frameRight = Yii::createObject(['class' => GuiFrame::className(), 'layout' => GuiFrame::LAYOUT_VERTICAL, 'border' => 1]);
$frameRight->addElement('Right Frame 1.1234567');
$frameRight->addElement('Right Frame 1.2');
$frameRight->addElement('Right Frame 1.3');

$frameBottom->addElement($frameLeft);
$frameBottom->addElement($frameRight);
$gui->addElement($frameTop);
$gui->addElement($frameBottom);

echo $gui->render() . PHP_EOL;

```

###  Health Score

20

—

LowBetter than 13% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity41

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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/33861b522beaa32e8ac2a5dd9dca432ca623e6c4cdd5f62166fccc8de208a93f?d=identicon)[Coksnuss](/maintainers/Coksnuss)

---

Top Contributors

[![schnz](https://avatars.githubusercontent.com/u/3457747?v=4)](https://github.com/schnz "schnz (3 commits)")

### Embed Badge

![Health badge](/badges/coksnuss-yii2-cli-layoutbuilder/health.svg)

```
[![Health](https://phpackages.com/badges/coksnuss-yii2-cli-layoutbuilder/health.svg)](https://phpackages.com/packages/coksnuss-yii2-cli-layoutbuilder)
```

###  Alternatives

[illuminate/console

The Illuminate Console package.

13046.0M6.5k](/packages/illuminate-console)[styleci/cli

The CLI tool for StyleCI

71470.5k9](/packages/styleci-cli)[winbox/args

Windows command-line formatter

20720.9k21](/packages/winbox-args)[tomatophp/filament-artisan

Simple but yet powerful library for running some artisan commands for FilamentPHP

3275.4k1](/packages/tomatophp-filament-artisan)[thettler/laravel-console-toolkit

This Package provides some usefully console features like the attribute syntax for arguments and options, validation, auto ask and casting.

324.1k](/packages/thettler-laravel-console-toolkit)

PHPackages © 2026

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