net_bazzline / php_component_cli_environment
free as in freedom command line environment for php creating lean command line executable files
0.3.1
2022-11-23 22:19 UTC
Requires
- php: >=8.0
- net_bazzline/php_component_cli_arguments: 2.1.*
- net_bazzline/php_component_toolbox: >=1.10
README
This project aims to deliver an free as in freedom, easy to use and lean as in fat free environment to create executable command line php files.
This project does not want to be competitive to a big console environment like the once mentioned below in the link section.
The current change log can be found here.
Take a look on openhub.net.
Usage
Create Executable Command Line File
./bin/net_bazzline_create_executable_command_line_file bin/hello
Write Your Code
#open bin/hello #replace line "$usage = basename(__FILE__) . ' [-v|--verbose]';" with the line below $usage = basename(__FILE__) . ' <your name> [-v|--verbose]'; #replace the line "//put in your business logic" with the code below //begin of dependencies $arguments = $environment->getArguments(); $values = $arguments->getValues(); //end of dependencies //begin of argument validation $valuesNotAreValid = (count($values) == 0); if ($valuesNotAreValid) { throw new InvalidArgumentException( 'invalid number of arguments provided' ); } //end of argument validation //begin of business logic $name = ucfirst($values[0]); $environment->outputIfVerbosityIsEnabled('provided values are: ' . implode(' ', $values)); $environment->output('Hello ' . $name); //end of business logic #execute ./bin/hello world
Example
Install
By Hand
mkdir -p vendor/net_bazzline/php_component_cli_environment
cd vendor/net_bazzline/php_component_cli_environment
git clone https://github.com/bazzline/php_component_cli_environment .
With Packagist
composer require net_bazzline/php_component_cli_environment:dev-master
API
API is available at bazzline.net.