Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wp-cli/php-cli-tools
A collection of tools to help with PHP command line utilities
https://github.com/wp-cli/php-cli-tools
cli command-line hacktoberfest wp-cli
Last synced: about 2 months ago
JSON representation
A collection of tools to help with PHP command line utilities
- Host: GitHub
- URL: https://github.com/wp-cli/php-cli-tools
- Owner: wp-cli
- License: mit
- Created: 2010-03-31T00:53:08.000Z (over 14 years ago)
- Default Branch: master
- Last Pushed: 2024-05-22T18:11:22.000Z (7 months ago)
- Last Synced: 2024-05-22T18:57:38.409Z (7 months ago)
- Topics: cli, command-line, hacktoberfest, wp-cli
- Language: PHP
- Homepage:
- Size: 361 KB
- Stars: 668
- Watchers: 35
- Forks: 116
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
- awesome-cli-frameworks - php-cli-tools
README
PHP Command Line Tools
======================A collection of functions and classes to assist with command line development.
Requirements
* PHP >= 5.6
Suggested PHP extensions
* mbstring - Used for calculating string widths.Function List
-------------* `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')`Progress Indicators
-------------------* `cli\notify\Dots($msg, $dots = 3, $interval = 100)`
* `cli\notify\Spinner($msg, $interval = 100)`
* `cli\progress\Bar($msg, $total, $interval = 100)`Tabular Display
---------------* `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.Tree Display
------------* `cli\Tree::__construct()`
* `cli\Tree::setData(array $data)`
* `cli\Tree::setRenderer(cli\tree\Renderer $renderer)`
* `cli\Tree::render()`
* `cli\Tree::display()`Argument Parser
---------------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.
Usage
-----See `examples/` directory for examples.
Todo
----* Expand this README
* Add doc blocks to rest of code