Stars: 660
Forks: 134
Pull Requests: 98
Issues: 62
Watchers: 31
Last Updated: 2023-09-01 12:21:36
A collection of tools to help with PHP command line utilities
License: MIT License
Languages: PHP
A collection of functions and classes to assist with command line development.
Requirements
Suggested PHP extensions
cli\out($msg, ...)cli\out_padded($msg, ...)cli\err($msg, ...)cli\line($msg = '', ...)cli\input()cli\prompt($question, $default = false, $marker = ':')cli\choose($question, $choices = 'yn', $default = 'n')cli\menu($items, $default = false, $title = 'Choose an Item')cli\notify\Dots($msg, $dots = 3, $interval = 100)cli\notify\Spinner($msg, $interval = 100)cli\progress\Bar($msg, $total, $interval = 100)cli\Table::__construct(array $headers = null, array $rows = null)cli\Table::setHeaders(array $headers)cli\Table::setRows(array $rows)cli\Table::setRenderer(cli\table\Renderer $renderer)cli\Table::addRow(array $row)cli\Table::sort($column)cli\Table::display()The display function will detect if output is piped and, if it is, render a tab delimited table instead of the ASCII table rendered for visual display.
You can also explicitly set the renderer used by calling cli\Table::setRenderer() and giving it an instance of one
of the concrete cli\table\Renderer classes.
cli\Tree::__construct()cli\Tree::setData(array $data)cli\Tree::setRenderer(cli\tree\Renderer $renderer)cli\Tree::render()cli\Tree::display()Argument parsing uses a simple framework for taking a list of command line arguments,
usually straight from $_SERVER['argv'], and parses the input against a set of
defined rules.
Check examples/arguments.php for an example.
See examples/ directory for examples.