php cli模式

  1. 作者QQ:67065435 QQ群:821635552

  2. 本站内容全部为作者原创,转载请注明出处!

CLI模式获取参数、选项

  1. 交互传参:

    <?php
    //请求输入参数
    fwrite(STDOUT, "请输入名字:");
    //获得输入参数
    $name = trim(fgets(STDIN));
    //输出获得参数
    fwrite(STDOUT, "你好, $name !");
    

    命令行:

    php 文件名 回车
    请输入名字:
    Jane Eyre 回车
    你好,Jane Eyre!
    
  2. 直接传参:(仅在 register_argc_argv 打开时可用)

    <?php
    print_r($argv);
    echo $argc;
    

    命令行:

    php 文件名 参数1 参数2 回车
    
    array(
        '0'=>'文件名',
        '1'=>'参数1',
        '2'=>'参数2'
    )
    
    3
    
  3. 参数传参:(仅在 register_argc_argv 打开时可用)

    <?php
    /**
     * cli.php
     * 后面跟随0个':'的字符,传不传值都不接收值(无值参数)
     * 后面跟随1个':'的字符,传不传值都会接收值(传值参数)
     * 后面跟随2个':'的字符,可以传值可以不传值(可选参数)
     * 注意: 必填参数不给值的话,会将后续参数做为参数的值
     * 如下: 可以通过 -a -b=112 -c=113             传入参数
     * 如下: 可以通过 --key1 --key2=112 --key3=113 传入参数
     */
    $str = "a" . "b:" . "c::";
    $arr = array(
        "key1",
        "key2:",
        "key3::",
    );
    $options = getopt($str, $arr);
    print_r($options);
    

    命令行:

    //单字符可以使用''、' '、'='传参
    php cli.php -a -b112  -c113  回车
    php cli.php -a -b 112 -c 113 回车
    php cli.php -a -b=112 -c=113 回车
    
    //多字符可以使用' '、'='传参,可选参数必须用'='传参
    php cli.php --key1 --key2 112 --key3=113 回车
    php cli.php --key1 --key2=112 --key3=113 回车
    
    //单字符、多字符中传入参数的值,都可以用引号括起来,但单字符可选参数与值之间不能有' '
    php cli.php -a -b'112'  -c'113'  回车
    php cli.php -a -b '112' -c'113'  回车
    php cli.php -a -b='112' -c='113' 回车
    php cli.php --key1 --key2 '112' --key3='113' 回车
    php cli.php --key1 --key2='112' --key3='113' 回车
    

CLI模式输出控制

  1. CLI模式输出样式控制

    <?php
    # 举例
    echo "\33[1;5;32;49m一段文字\33[0m", PHP_EOL;
    # 说明1
    # '样式修饰符' 修饰的是后文的样式
    # '样式修饰符' 的格式为:\33[样式修饰码m
    # '样式修饰码' 的格式为:数字;数字;数字;数字
    
    # 说明2
    # 样式修饰码列表:
    # 0  重置所有样式
    # 1  启用文字粗体
    # 2  启用一半亮度
    # 4  启用底线样式
    # 5  启用文字闪烁
    # 7  启用图片反向
    # 22 启用一般密度
    # 24 禁用底线样式
    # 25 禁用文字闪烁
    # 27 禁用图象反向
    # 30 启用黑色文字
    # 31 启用红色文字
    # 32 启用绿色文字
    # 33 启用棕色文字
    # 34 启用蓝色文字
    # 35 启用紫色文字
    # 36 启用青色文字
    # 37 启用白色文字
    # 38 启用文字底线
    # 39 禁用文字底线
    # 40 启用黑色背景
    # 41 启用红色背景
    # 42 启用绿色背景
    # 43 启用棕色背景
    # 44 启用蓝色背景
    # 45 启用紫色背景
    # 46 启用青色背景
    # 47 启用白色背景
    # 49 启用黑色背景
    

CLI模式内存优化

  1. PHP CLI模式,持久进程,内存占用最小化,变量使用3步走
    <?php
    # 该方法适用的场景:变量定义、使用后,长期存在但不再使用
    # 创建$time
    $time = time();
    # 使用$time,创建$date
    $date = date('Y-m-d H:i:s', $time);
    # 释放$time
    unset($time);
    # 使用$date
    echo $date;
    # 释放$date
    unset($date);
    # 后续代码
    

CLI模式PHP信息获取

  1. php cli模式php详细信息获取(php --help 可见)
    php  --rf <function name>       # 查看方法信息
    php  --rc <class name>          # 查看类信息
    php  --re <extension name>      # 查看扩展信息
    php  --rz <extension name>      # 查看zend扩展信息
    php  --ri <extension name>      # 查看扩展配置信息
    
Copyright © 豆包嘿嘿~ 2012-∞ 冀ICP备17033181号 all right reserved,powered by Gitbook修订: 2020-08-19 14:05:41

results matching ""

    No results matching ""