承接 alxmsl/cli 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

alxmsl/cli

最新稳定版本:v2.0.1

Composer 安装命令:

composer require alxmsl/cli

包简介

Simple library for php-cli script options support

README 文档

README

This is simple set of classes for support php-cli script options

Advantages

  1. Lightweight - only two classes for work with command options
  2. Events helps to up your code flexibility
  3. Self-autoloading. You need to include only one file
  4. Independed namespace helps to use Cli on different projects and frameworks

Posibilities

You can set short or long option name, while call php-cli script. The same lines may be equal

php script.php -a # short name of option apply php script.php --apply 

You can use boolean or string option values

php script.php --apply # option 'apply' has boolean value php script.php --change=all -a # option 'change' has string value 'all', and option 'aplly' has boolean value true php script.php --change=all # option 'aplly' has boolean value false. It's not set 

If you use string values, that containing spaces, quote its

php script.php --change="all the world" 

You can create required options or not

php script.php -s Test # option 'script' is required 

...if you call 'script.php' without 's' option, you will see

php script.php PHP Fatal error: Uncaught exception 'Cli\RequiredOptionException' in /root/CommandPosix.php:79 

On each option you can add callback (see Usage Example). Callback function can use first parameter as an option name, second as value

$Command->appendParameter($Option, function($name, $value) { echo 'option \'' . $name . '\' value is \'' . $value . '\'' . "\n"; }); 

you will see

php script.php --script=noscript option 'script' value is 'noscript' 

Usage example

// Firstly include base class include('../source/Cli.php'); use \Cli\CommandPosix, \Cli\Option; // Just create command line option instances $OptionHelp = new Option('help', 'h', 'show help screen option'); // Create command instance $Command = new CommandPosix(); // Append created option for help to command $Command->appendHelpParameter('show help screen option'); // Append one required option. And... $Command->appendParameter(new Option('option', 'o', 'some option', Option::TYPE_BOOLEAN, true)); // ...just parse the command $Command->parse(); 

If you will need the exception when required options value will not set, try:

$Command->parse(true); 

You will see something like this:

alxmsl:~/cli/tests$ php usage.php PHP Fatal error: Uncaught exception 'Cli\RequiredOptionException' with message 'option' in /home/alxmsl/cli/source/CommandPosix.php:92 Stack trace: #0 /home/alxmsl/cli/tests/usage.php(27): Cli\CommandPosix->parse(true) #1 {main} thrown in /home/alxmsl/sources/cli/CommandPosix.php on line 92 

License

Copyright 2015 Alexey Maslov alexey.y.maslov@gmail.com

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0 

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

统计信息

  • 总下载量: 28.6k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 5
  • 点击次数: 3
  • 依赖项目数: 6
  • 推荐数: 0

GitHub 信息

  • Stars: 5
  • Watchers: 1
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: Apache-2.0
  • 更新时间: 2026-01-04

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固