coksnuss / yii2-cli-layoutbuilder

允许在控制台渲染复杂的ASCII GUI。

dev-master 2015-01-09 15:12 UTC

This package is auto-updated.

Last update: 2024-09-09 13:43:01 UTC


README

允许在控制台渲染复杂的ASCII GUI。

此扩展的功能

此扩展可用于在控制台(即不使用ncurses或类似库)上渲染基于ASCII的GUI。它允许以嵌套框架的形式定义GUI,这些框架可以是水平或垂直嵌套的。这样的框架可以具有固定或动态的大小(以控制台窗口的宽度/高度来衡量)。

安装

您需要通过在您的yii2项目的根目录中执行以下控制台命令来通过composer包含此扩展

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

就这么多。检查新的扩展文件夹,以查看可用的类以及如何使用或扩展它们。

用法

以下是一些示例代码,以帮助您开始。

$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;